home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1994-04-27 | 33.4 KB | [STAK/WILD] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| HyperCard Stack (archive/hypercard)
| idMeta
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Fri Jul 20 09:42:47 1990, modified Wed Apr 27 08:52:49 1994, creator HyperCard, type HyperCard stack, 30880 bytes "Covariation" , at 0x7920 2978 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Mac HyperCard stack (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [STAK] |
macFileCreator | [WILD] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 43 6f 76 61 72 69 | 61 74 69 6f 6e 00 00 00 |..Covari|ation...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 53 54 41 4b 57 49 4c | 44 01 00 00 00 00 00 00 |.STAKWIL|D.......|
|00000050| 00 00 00 00 00 78 a0 00 | 00 0b a2 a2 cc ba d7 a9 |.....x..|........|
|00000060| e4 10 a1 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 46 81 00 00 |........|....F...|
|00000080| 00 00 62 00 53 54 41 4b | ff ff ff ff 00 00 00 00 |..b.STAK|........|
|00000090| 00 00 00 0a 00 00 78 a0 | 00 00 62 00 00 00 00 00 |......x.|..b.....|
|000000a0| 00 00 00 00 00 00 00 01 | 00 00 0a ea 00 00 00 01 |........|........|
|000000b0| 00 00 0b 81 00 00 08 10 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 11 27 00 00 00 00 | 00 05 00 00 10 00 00 00 |...'....|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 01 20 80 00 02 00 80 00 | 02 00 80 00 02 10 80 01 |. ......|........|
|000000f0| de e7 cd c5 00 00 00 00 | 00 60 00 10 01 60 01 f0 |........|.`...`..|
|00000100| 00 00 00 00 02 70 03 40 | 00 00 00 00 00 00 00 00 |.....p.@|........|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 0e e5 00 00 0d d7 | 01 00 01 e0 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 00 00 00 00 00 00 00 | 80 00 00 00 08 00 00 00 |........|........|
|00000350| 88 00 22 00 88 00 22 00 | 88 88 22 22 88 88 22 22 |.."...".|..""..""|
|00000360| 88 aa 22 aa 88 aa 22 aa | cc aa 33 aa cc aa 33 aa |.."...".|..3...3.|
|00000370| ee aa bb aa ee aa bb aa | ee bb bb ee ee bb bb ee |........|........|
|00000380| ff bb ff ee ff bb ff ee | ff bb ff ff ff bb ff ff |........|........|
|00000390| 80 10 02 20 01 08 40 04 | ff ff ff ff ff ff ff ff |... ..@.|........|
|000003a0| 88 22 88 22 88 22 88 22 | 11 22 44 88 11 22 44 88 |."."."."|."D.."D.|
|000003b0| c4 80 0c 68 43 02 30 26 | b1 30 03 1b d8 c0 0c 8d |...hC.0&|.0......|
|000003c0| aa 00 aa 00 aa 00 aa 00 | 88 22 55 22 88 22 55 22 |........|."U"."U"|
|000003d0| 88 55 22 55 88 55 22 55 | 77 dd 77 dd 77 dd 77 dd |.U"U.U"U|w.w.w.w.|
|000003e0| 80 00 00 00 00 00 00 00 | aa 55 aa 55 aa 55 aa 55 |........|.U.U.U.U|
|000003f0| 03 84 48 30 0c 02 01 01 | 82 44 39 44 82 01 01 01 |..H0....|.D9D....|
|00000400| 88 14 22 41 88 41 22 14 | 80 80 41 3e 08 08 14 e3 |.."A.A".|..A>....|
|00000410| 22 04 8c 74 22 17 98 10 | be 80 88 08 eb 08 88 80 |"..t"...|........|
|00000420| 25 c8 32 89 64 24 4c 92 | a2 9c 41 be 2a c9 14 eb |%.2.d$L.|..A.*...|
|00000430| 40 a0 00 00 04 0a 00 00 | 80 40 20 00 02 04 08 00 |@.......|.@ .....|
|00000440| aa 00 80 00 88 00 80 00 | ff 80 80 80 80 80 80 80 |........|........|
|00000450| 08 1c 22 c1 80 01 02 04 | ff 80 80 80 ff 08 08 08 |..".....|........|
|00000460| f8 74 22 47 8f 17 22 71 | bf 00 bf bf b0 b0 b0 b0 |.t"G.."q|........|
|00000470| ff 7f be 5d a2 41 80 00 | fa f5 fa f5 a0 50 a0 50 |...].A..|.....P.P|
|00000480| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000490| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000600| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000630| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006c0| 2d 2d 2d 2d 2d 2d 2d 0d | 2d 2d 0d 2d 2d 20 43 6f |-------.|--.-- Co|
|000006d0| 56 61 72 69 61 74 69 6f | 6e 20 61 6e 61 6c 79 73 |Variatio|n analys|
|000006e0| 69 73 20 73 63 72 69 70 | 74 73 0d 2d 2d 20 52 4e |is scrip|ts.-- RN|
|000006f0| 41 20 43 6f 2d 56 61 72 | 69 61 74 69 6f 6e 20 53 |A Co-Var|iation S|
|00000700| 74 61 63 6b 20 76 32 2e | 33 2e 31 0d 2d 2d 0d 2d |tack v2.|3.1.--.-|
|00000710| 2d 20 62 79 20 4a 61 6d | 65 73 20 57 2e 20 42 72 |- by Jam|es W. Br|
|00000720| 6f 77 6e 0d 2d 2d 20 44 | 65 70 61 72 74 6d 65 6e |own.-- D|epartmen|
|00000730| 74 20 6f 66 20 42 69 6f | 6c 6f 67 79 0d 2d 2d 20 |t of Bio|logy.-- |
|00000740| 49 6e 64 69 61 6e 61 20 | 55 6e 69 76 65 72 73 69 |Indiana |Universi|
|00000750| 74 79 0d 2d 2d 20 42 6c | 6f 6f 6d 69 6e 67 74 6f |ty.-- Bl|oomingto|
|00000760| 6e 2c 20 49 4e 20 34 37 | 34 30 35 0d 2d 2d 0d 2d |n, IN 47|405.--.-|
|00000770| 2d 20 62 72 6f 77 6e 6a | 77 40 69 75 62 61 63 73 |- brownj|w@iubacs|
|00000780| 2e 62 69 74 6e 65 74 0d | 2d 2d 0d 2d 2d 20 76 31 |.bitnet.|--.-- v1|
|00000790| 2e 30 20 20 20 20 20 20 | 20 20 44 65 63 20 31 39 |.0 | Dec 19|
|000007a0| 38 39 0d 2d 2d 20 76 31 | 2e 31 20 20 20 20 20 20 |89.-- v1|.1 |
|000007b0| 20 20 4d 61 72 20 31 39 | 39 30 0d 2d 2d 20 76 32 | Mar 19|90.-- v2|
|000007c0| 2e 30 20 20 20 20 20 20 | 20 20 41 75 67 20 31 39 |.0 | Aug 19|
|000007d0| 39 30 0d 2d 2d 20 76 32 | 2e 31 2f 32 2e 32 20 20 |90.-- v2|.1/2.2 |
|000007e0| 20 20 4f 63 74 20 31 39 | 39 30 0d 2d 2d 20 76 32 | Oct 19|90.-- v2|
|000007f0| 2e 33 20 20 20 20 20 20 | 20 20 4e 6f 76 20 31 39 |.3 | Nov 19|
|00000800| 39 30 0d 2d 2d 20 76 32 | 2e 33 2e 31 20 20 20 20 |90.-- v2|.3.1 |
|00000810| 20 20 44 65 63 20 31 39 | 39 30 0d 2d 2d 0d 2d 2d | Dec 19|90.--.--|
|00000820| 20 72 65 71 75 69 72 65 | 73 20 48 79 70 65 72 63 | require|s Hyperc|
|00000830| 61 72 64 20 76 32 2e 30 | 0d 2d 2d 0d 2d 2d 2d 2d |ard v2.0|.--.----|
|00000840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000880| 2d 2d 2d 0d 2d 2d 20 20 | 47 6c 6f 62 61 6c 73 3a |---.-- |Globals:|
|00000890| 20 73 65 71 73 20 2d 20 | 61 72 72 61 79 20 5b 31 | seqs - |array [1|
|000008a0| 2e 2e 6e 75 6d 53 65 71 | 73 5d 20 6f 66 20 61 72 |..numSeq|s] of ar|
|000008b0| 72 61 79 20 5b 31 2e 2e | 6e 75 6d 50 6f 73 5d 20 |ray [1..|numPos] |
|000008c0| 28 73 65 71 75 65 6e 63 | 65 73 29 0d 2d 2d 20 20 |(sequenc|es).-- |
|000008d0| 20 20 20 20 20 20 6e 75 | 6d 53 65 71 73 20 2d 20 | nu|mSeqs - |
|000008e0| 6e 75 6d 62 65 72 20 6f | 66 20 73 65 71 75 65 6e |number o|f sequen|
|000008f0| 63 65 73 0d 2d 2d 20 20 | 20 20 20 20 20 73 65 71 |ces.-- | seq|
|00000900| 4e 61 6d 65 73 20 2d 20 | 73 74 72 69 6e 67 20 5b |Names - |string [|
|00000910| 73 70 65 63 69 65 4e 61 | 6d 65 4c 65 6e 5d 20 6f |specieNa|meLen] o|
|00000920| 66 20 73 70 65 63 69 65 | 20 6e 61 6d 65 73 0d 2d |f specie| names.-|
|00000930| 2d 20 20 20 20 20 20 20 | 20 20 20 20 6d 61 73 6b |- | mask|
|00000940| 20 2d 20 61 72 72 61 79 | 20 5b 31 2e 2e 6e 75 6d | - array| [1..num|
|00000950| 50 6f 73 5d 20 63 6f 6e | 74 61 69 6e 69 6e 67 20 |Pos] con|taining |
|00000960| 74 68 65 20 6d 61 73 6b | 0d 2d 2d 20 20 20 20 20 |the mask|.-- |
|00000970| 20 20 20 20 6d 61 73 6b | 43 48 20 2d 20 63 68 61 | mask|CH - cha|
|00000980| 72 20 69 6e 20 6d 61 73 | 6b 20 69 6e 64 69 63 74 |r in mas|k indict|
|00000990| 69 6e 67 20 61 20 70 6f | 73 69 74 69 6f 6e 20 74 |ing a po|sition t|
|000009a0| 6f 20 62 65 20 69 6e 63 | 6c 75 64 65 64 0d 2d 2d |o be inc|luded.--|
|000009b0| 20 20 73 70 65 63 69 65 | 4e 61 6d 65 4c 65 6e 20 | specie|NameLen |
|000009c0| 2d 20 6c 65 6e 67 74 68 | 20 6f 66 20 74 68 65 20 |- length| of the |
|000009d0| 73 70 65 63 69 65 73 20 | 6e 61 6d 65 73 0d 2d 2d |species |names.--|
|000009e0| 20 20 20 20 20 20 20 6d | 61 73 6b 4e 61 6d 65 20 | m|askName |
|000009f0| 2d 20 6e 61 6d 65 20 6f | 66 20 74 68 65 20 6c 69 |- name o|f the li|
|00000a00| 6e 65 20 74 6f 20 62 65 | 20 75 73 65 64 20 61 73 |ne to be| used as|
|00000a10| 20 74 68 65 20 6d 61 73 | 6b 0d 2d 2d 20 20 20 20 | the mas|k.-- |
|00000a20| 20 20 20 20 70 6f 73 44 | 61 74 61 20 2d 20 61 72 | posD|ata - ar|
|00000a30| 72 61 79 20 5b 31 2e 2e | 6e 75 6d 50 6f 73 5d 20 |ray [1..|numPos] |
|00000a40| 6f 66 20 61 72 72 61 79 | 20 5b 31 2e 2e 6e 75 6d |of array| [1..num|
|00000a50| 53 65 71 73 5d 0d 2d 2d | 20 20 20 20 70 6f 73 44 |Seqs].--| posD|
|00000a60| 61 74 61 4e 75 6d 73 20 | 2d 20 70 6f 73 44 61 74 |ataNums |- posDat|
|00000a70| 61 20 63 6f 6e 76 65 72 | 74 65 64 20 6e 75 6d 65 |a conver|ted nume|
|00000a80| 72 69 63 61 6c 6c 79 20 | 65 2e 67 2e 47 41 41 55 |rically |e.g.GAAU|
|00000a90| 55 43 2d 3e 31 32 32 33 | 33 34 0d 2d 2d 20 20 20 |UC->1223|34.-- |
|00000aa0| 20 20 20 20 20 20 6e 75 | 6d 50 6f 73 20 2d 20 6c | nu|mPos - l|
|00000ab0| 65 6e 67 74 68 20 6f 66 | 20 74 68 65 20 61 6c 69 |ength of| the ali|
|00000ac0| 67 6e 6d 65 6e 74 0d 2d | 2d 20 20 20 61 6c 6c 4d |gnment.-|- allM|
|00000ad0| 61 74 63 68 65 73 43 48 | 20 2d 20 63 68 61 72 20 |atchesCH| - char |
|00000ae0| 74 6f 20 69 6e 64 69 63 | 61 74 65 20 61 6c 6c 20 |to indic|ate all |
|00000af0| 6d 61 74 63 68 65 73 0d | 2d 2d 20 20 20 20 61 6c |matches.|-- al|
|00000b00| 6c 42 75 74 4f 6e 65 43 | 48 20 2d 20 63 68 61 72 |lButOneC|H - char|
|00000b10| 20 74 6f 20 69 6e 64 69 | 63 61 74 65 20 31 20 6d | to indi|cate 1 m|
|00000b20| 69 73 6d 61 74 63 68 0d | 2d 2d 20 20 20 20 20 20 |ismatch.|-- |
|00000b30| 6e 6f 4d 61 74 63 68 43 | 48 20 2d 20 63 68 61 72 |noMatchC|H - char|
|00000b40| 20 74 6f 20 69 6e 64 69 | 63 61 74 65 20 6d 6f 72 | to indi|cate mor|
|00000b50| 65 20 74 68 61 6e 20 31 | 20 6d 69 73 6d 61 74 63 |e than 1| mismatc|
|00000b60| 68 65 73 0d 2d 2d 20 20 | 20 20 20 20 20 73 70 61 |hes.-- | spa|
|00000b70| 63 65 72 43 48 20 2d 20 | 63 68 61 72 20 74 6f 20 |cerCH - |char to |
|00000b80| 69 6e 64 69 63 61 74 65 | 20 74 68 61 74 20 74 68 |indicate| that th|
|00000b90| 65 72 65 20 77 61 73 20 | 6e 6f 20 63 6f 6d 70 61 |ere was |no compa|
|00000ba0| 72 69 73 6f 6e 0d 2d 2d | 20 20 20 20 69 6e 76 61 |rison.--| inva|
|00000bb0| 72 69 61 6e 74 43 48 20 | 2d 20 63 68 61 72 20 74 |riantCH |- char t|
|00000bc0| 6f 20 69 6e 64 69 63 61 | 74 65 20 61 6c 6c 20 6d |o indica|te all m|
|00000bd0| 61 74 63 68 65 73 2c 20 | 62 75 74 20 62 6f 74 68 |atches, |but both|
|00000be0| 20 69 6e 76 61 72 69 61 | 6e 74 0d 2d 2d 20 20 20 | invaria|nt.-- |
|00000bf0| 63 6f 6e 73 74 61 6e 74 | 4c 69 73 74 20 2d 20 61 |constant|List - a|
|00000c00| 72 72 61 79 20 6f 66 20 | 63 6f 6e 73 74 61 6e 74 |rray of |constant|
|00000c10| 20 70 6f 73 69 74 69 6f | 6e 73 0d 2d 2d 20 20 20 | positio|ns.-- |
|00000c20| 20 20 20 6d 61 74 63 68 | 4c 69 73 74 20 2d 20 6c | match|List - l|
|00000c30| 69 73 74 20 6f 66 20 75 | 73 65 72 2d 64 65 66 69 |ist of u|ser-defi|
|00000c40| 6e 65 64 20 4f 4b 20 70 | 61 69 72 69 6e 67 73 0d |ned OK p|airings.|
|00000c50| 2d 2d 20 20 20 20 20 20 | 20 20 20 20 20 20 45 4f |-- | EO|
|00000c60| 46 20 2d 20 73 69 67 6e | 61 6c 20 66 6f 72 20 22 |F - sign|al for "|
|00000c70| 63 6f 76 61 72 69 61 74 | 69 6f 6e 20 70 72 69 6e |covariat|ion prin|
|00000c80| 74 65 72 22 20 74 68 61 | 74 20 68 65 72 65 27 73 |ter" tha|t here's|
|00000c90| 20 74 68 65 20 45 4f 46 | 0d 2d 2d 2d 2d 2d 2d 2d | the EOF|.-------|
|00000ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ce0| 0d 2d 2d 20 20 6e 6f 6e | 2d 73 74 61 6e 64 61 72 |.-- non|-standar|
|00000cf0| 64 20 58 43 4d 44 73 2f | 58 46 43 4e 73 20 75 73 |d XCMDs/|XFCNs us|
|00000d00| 65 64 20 2d 20 6e 6f 6e | 65 0d 2d 2d 2d 2d 2d 2d |ed - non|e.------|
|00000d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d50| 2d 0d 2d 2d 20 20 54 68 | 69 73 20 73 74 61 63 6b |-.-- Th|is stack|
|00000d60| 20 61 6c 73 6f 20 63 6f | 6e 74 61 69 6e 73 20 50 | also co|ntains P|
|00000d70| 49 43 54 20 61 6e 64 20 | 50 4c 54 45 20 72 65 73 |ICT and |PLTE res|
|00000d80| 6f 75 72 63 65 73 20 69 | 6e 73 74 61 6c 6c 65 64 |ources i|nstalled|
|00000d90| 20 62 79 20 74 68 65 0d | 2d 2d 20 20 70 61 6c 65 | by the.|-- pale|
|00000da0| 74 74 65 20 6d 61 6b 65 | 72 20 66 6f 72 20 75 73 |tte make|r for us|
|00000db0| 65 20 62 79 20 74 68 65 | 20 22 41 62 6f 75 74 2e |e by the| "About.|
|00000dc0| 2e 2e 22 20 62 75 74 74 | 6f 6e 20 6d 6f 75 73 65 |.." butt|on mouse|
|00000dd0| 55 70 20 68 61 6e 64 6c | 65 72 0d 2d 2d 2d 2d 2d |Up handl|er.-----|
|00000de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e20| 2d 2d 0d 0d 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--...---|--------|
|00000e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2d 2d 20 |--------|----.-- |
|00000e70| 48 6f 75 73 65 2d 6b 65 | 65 70 69 6e 67 20 73 63 |House-ke|eping sc|
|00000e80| 72 69 70 74 73 0d 2d 2d | 0d 0d 6f 6e 20 6f 70 65 |ripts.--|..on ope|
|00000e90| 6e 53 74 61 63 6b 0d 2d | 2d 20 67 6c 6f 62 61 6c |nStack.-|- global|
|00000ea0| 20 63 6f 6e 73 74 61 6e | 74 73 20 64 65 66 69 6e | constan|ts defin|
|00000eb0| 69 74 69 6f 6e 73 0d 67 | 6c 6f 62 61 6c 20 73 65 |itions.g|lobal se|
|00000ec0| 71 73 2c 6e 75 6d 53 65 | 71 73 2c 6d 61 73 6b 2c |qs,numSe|qs,mask,|
|00000ed0| 73 70 65 63 69 65 4e 61 | 6d 65 4c 65 6e 2c 4d 61 |specieNa|meLen,Ma|
|00000ee0| 73 6b 4e 61 6d 65 2c 6d | 61 73 6b 43 48 2c 20 c2 |skName,m|askCH, .|
|00000ef0| 0d 70 6f 73 44 61 74 61 | 2c 70 6f 73 44 61 74 61 |.posData|,posData|
|00000f00| 4e 75 6d 73 0d 70 75 74 | 20 33 20 69 6e 74 6f 20 |Nums.put| 3 into |
|00000f10| 73 70 65 63 69 65 4e 61 | 6d 65 4c 65 6e 0d 70 75 |specieNa|meLen.pu|
|00000f20| 74 20 22 31 22 20 69 6e | 74 6f 20 6d 61 73 6b 43 |t "1" in|to maskC|
|00000f30| 48 0d 70 75 74 20 22 6d | 73 6b 22 20 69 6e 74 6f |H.put "m|sk" into|
|00000f40| 20 6d 61 73 6b 4e 61 6d | 65 0d 70 75 74 20 65 6d | maskNam|e.put em|
|00000f50| 70 74 79 20 69 6e 74 6f | 20 73 65 71 73 0d 70 75 |pty into| seqs.pu|
|00000f60| 74 20 65 6d 70 74 79 20 | 69 6e 74 6f 20 70 6f 73 |t empty |into pos|
|00000f70| 44 61 74 61 0d 70 75 74 | 20 65 6d 70 74 79 20 69 |Data.put| empty i|
|00000f80| 6e 74 6f 20 70 6f 73 44 | 61 74 61 4e 75 6d 73 0d |nto posD|ataNums.|
|00000f90| 70 75 74 20 22 26 26 22 | 20 69 6e 74 6f 20 45 4f |put "&&"| into EO|
|00000fa0| 46 0d 2d 2d 20 67 65 74 | 20 72 65 61 64 79 20 74 |F.-- get| ready t|
|00000fb0| 6f 20 73 74 61 72 74 20 | 26 20 73 61 79 20 68 65 |o start |& say he|
|00000fc0| 6c 6c 6f 20 74 6f 20 74 | 68 65 20 75 73 65 72 0d |llo to t|he user.|
|00000fd0| 70 75 74 20 22 57 65 6c | 63 6f 6d 65 20 74 6f 20 |put "Wel|come to |
|00000fe0| 43 6f 56 61 72 69 61 74 | 69 6f 6e 21 22 20 69 6e |CoVariat|ion!" in|
|00000ff0| 74 6f 20 6d 73 67 0d 70 | 75 74 20 22 6e 6f 6e 65 |to msg.p|ut "none|
|00001000| 22 20 69 6e 74 6f 20 63 | 61 72 64 20 66 69 65 6c |" into c|ard fiel|
|00001010| 64 20 22 74 68 65 46 69 | 6c 65 22 0d 72 65 73 65 |d "theFi|le".rese|
|00001020| 74 42 75 74 74 6f 6e 73 | 0d 61 73 73 65 6d 62 6c |tButtons|.assembl|
|00001030| 65 4d 65 6e 75 73 0d 65 | 6e 64 20 6f 70 65 6e 53 |eMenus.e|nd openS|
|00001040| 74 61 63 6b 0d 0d 6f 6e | 20 63 6c 6f 73 65 53 74 |tack..on| closeSt|
|00001050| 61 63 6b 0d 2d 2d 20 54 | 69 64 79 20 75 70 20 61 |ack.-- T|idy up a|
|00001060| 66 74 65 72 20 74 68 65 | 20 73 74 61 63 6b 0d 70 |fter the| stack.p|
|00001070| 75 74 20 22 6e 6f 6e 65 | 22 20 69 6e 74 6f 20 63 |ut "none|" into c|
|00001080| 61 72 64 20 66 69 65 6c | 64 20 22 74 68 65 46 69 |ard fiel|d "theFi|
|00001090| 6c 65 22 0d 70 75 74 20 | 65 6d 70 74 79 20 69 6e |le".put |empty in|
|000010a0| 74 6f 20 6d 73 67 0d 68 | 69 64 65 20 6d 73 67 0d |to msg.h|ide msg.|
|000010b0| 63 6c 6f 73 65 20 77 69 | 6e 64 6f 77 20 22 61 62 |close wi|ndow "ab|
|000010c0| 6f 75 74 2e 2e 2e 22 0d | 72 65 73 65 74 20 6d 65 |out...".|reset me|
|000010d0| 6e 75 42 61 72 0d 65 6e | 64 20 63 6c 6f 73 65 53 |nuBar.en|d closeS|
|000010e0| 74 61 63 6b 0d 0d 6f 6e | 20 73 75 73 70 65 6e 64 |tack..on| suspend|
|000010f0| 53 74 61 63 6b 0d 72 65 | 73 65 74 20 6d 65 6e 75 |Stack.re|set menu|
|00001100| 42 61 72 0d 65 6e 64 20 | 73 75 73 70 65 6e 64 53 |Bar.end |suspendS|
|00001110| 74 61 63 6b 0d 0d 6f 6e | 20 72 65 73 75 6d 65 53 |tack..on| resumeS|
|00001120| 74 61 63 6b 0d 61 73 73 | 65 6d 62 6c 65 4d 65 6e |tack.ass|embleMen|
|00001130| 75 73 0d 65 6e 64 20 72 | 65 73 75 6d 65 53 74 61 |us.end r|esumeSta|
|00001140| 63 6b 0d 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ck..----|--------|
|00001150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2d 2d 20 6d |--------|---.-- m|
|00001190| 65 73 73 61 67 65 20 63 | 6f 6e 74 72 6f 6c 20 73 |essage c|ontrol s|
|000011a0| 63 72 69 70 74 73 0d 2d | 2d 0d 0d 6f 6e 20 61 73 |cripts.-|-..on as|
|000011b0| 73 65 6d 62 6c 65 4d 65 | 6e 75 73 0d 2d 2d 20 6e |sembleMe|nus.-- n|
|000011c0| 75 6b 65 20 6f 6c 64 20 | 6d 65 6e 75 73 0d 70 75 |uke old |menus.pu|
|000011d0| 74 20 74 68 65 20 6e 75 | 6d 62 65 72 20 6f 66 20 |t the nu|mber of |
|000011e0| 6d 65 6e 75 73 20 2d 20 | 31 20 69 6e 74 6f 20 74 |menus - |1 into t|
|000011f0| 65 6d 70 0d 72 65 70 65 | 61 74 20 74 65 6d 70 20 |emp.repe|at temp |
|00001200| 74 69 6d 65 73 0d 64 65 | 6c 65 74 65 20 6d 65 6e |times.de|lete men|
|00001210| 75 20 32 0d 65 6e 64 20 | 72 65 70 65 61 74 0d 2d |u 2.end |repeat.-|
|00001220| 2d 20 41 6c 74 65 72 20 | 74 68 65 20 41 70 70 6c |- Alter |the Appl|
|00001230| 65 20 6d 65 6e 75 0d 70 | 75 74 20 22 41 62 6f 75 |e menu.p|ut "Abou|
|00001240| 74 20 43 6f 76 61 72 69 | 61 74 69 6f 6e 2e 2e 2e |t Covari|ation...|
|00001250| 22 20 69 6e 74 6f 20 6d | 65 6e 75 49 74 65 6d 20 |" into m|enuItem |
|00001260| 31 20 6f 66 20 6d 65 6e | 75 20 31 20 77 69 74 68 |1 of men|u 1 with|
|00001270| 20 6d 65 6e 75 4d 73 67 | 20 22 61 62 6f 75 74 43 | menuMsg| "aboutC|
|00001280| 6f 56 61 72 22 0d 2d 2d | 20 61 64 64 20 22 46 69 |oVar".--| add "Fi|
|00001290| 6c 65 22 20 6d 65 6e 75 | 0d 63 72 65 61 74 65 20 |le" menu|.create |
|000012a0| 6d 65 6e 75 20 22 46 69 | 6c 65 22 0d 70 75 74 20 |menu "Fi|le".put |
|000012b0| 22 52 65 61 64 20 61 6c | 69 67 6e 6d 65 6e 74 2e |"Read al|ignment.|
|000012c0| 2e 2e 22 20 61 66 74 65 | 72 20 6d 65 6e 75 20 22 |.." afte|r menu "|
|000012d0| 46 69 6c 65 22 20 77 69 | 74 68 20 6d 65 6e 75 4d |File" wi|th menuM|
|000012e0| 73 67 20 22 72 65 61 64 | 46 69 6c 65 22 0d 70 75 |sg "read|File".pu|
|000012f0| 74 20 22 43 6c 6f 73 65 | 20 61 6c 69 67 6e 6d 65 |t "Close| alignme|
|00001300| 6e 74 22 20 61 66 74 65 | 72 20 6d 65 6e 75 20 22 |nt" afte|r menu "|
|00001310| 46 69 6c 65 22 20 77 69 | 74 68 20 6d 65 6e 75 4d |File" wi|th menuM|
|00001320| 73 67 20 22 63 6c 6f 73 | 65 46 69 6c 65 22 0d 70 |sg "clos|eFile".p|
|00001330| 75 74 20 22 2d 22 20 61 | 66 74 65 72 20 6d 65 6e |ut "-" a|fter men|
|00001340| 75 20 22 46 69 6c 65 22 | 0d 70 75 74 20 22 47 6f |u "File"|.put "Go|
|00001350| 20 48 6f 6d 65 22 20 61 | 66 74 65 72 20 6d 65 6e | Home" a|fter men|
|00001360| 75 20 22 46 69 6c 65 22 | 20 77 69 74 68 20 6d 65 |u "File"| with me|
|00001370| 6e 75 4d 73 67 20 22 67 | 6f 20 68 6f 6d 65 22 0d |nuMsg "g|o home".|
|00001380| 70 75 74 20 22 51 75 69 | 74 22 20 61 66 74 65 72 |put "Qui|t" after|
|00001390| 20 6d 65 6e 75 20 22 46 | 69 6c 65 22 20 77 69 74 | menu "F|ile" wit|
|000013a0| 68 20 6d 65 6e 75 4d 73 | 67 20 22 71 75 69 74 48 |h menuMs|g "quitH|
|000013b0| 43 22 0d 73 65 74 20 74 | 68 65 20 63 6d 64 43 68 |C".set t|he cmdCh|
|000013c0| 61 72 20 6f 66 20 6d 65 | 6e 75 49 74 65 6d 20 22 |ar of me|nuItem "|
|000013d0| 52 65 61 64 20 61 6c 69 | 67 6e 6d 65 6e 74 2e 2e |Read ali|gnment..|
|000013e0| 2e 22 20 6f 66 20 6d 65 | 6e 75 20 22 46 69 6c 65 |." of me|nu "File|
|000013f0| 22 20 74 6f 20 22 4f 22 | 0d 73 65 74 20 74 68 65 |" to "O"|.set the|
|00001400| 20 63 6d 64 43 68 61 72 | 20 6f 66 20 6d 65 6e 75 | cmdChar| of menu|
|00001410| 49 74 65 6d 20 22 43 6c | 6f 73 65 20 61 6c 69 67 |Item "Cl|ose alig|
|00001420| 6e 6d 65 6e 74 22 20 6f | 66 20 6d 65 6e 75 20 22 |nment" o|f menu "|
|00001430| 46 69 6c 65 22 20 74 6f | 20 22 57 22 0d 73 65 74 |File" to| "W".set|
|00001440| 20 74 68 65 20 63 6d 64 | 43 68 61 72 20 6f 66 20 | the cmd|Char of |
|00001450| 6d 65 6e 75 49 74 65 6d | 20 22 47 6f 20 48 6f 6d |menuItem| "Go Hom|
|00001460| 65 22 20 6f 66 20 6d 65 | 6e 75 20 22 46 69 6c 65 |e" of me|nu "File|
|00001470| 22 20 74 6f 20 22 48 22 | 0d 73 65 74 20 74 68 65 |" to "H"|.set the|
|00001480| 20 63 6d 64 43 68 61 72 | 20 6f 66 20 6d 65 6e 75 | cmdChar| of menu|
|00001490| 49 74 65 6d 20 22 51 75 | 69 74 22 20 6f 66 20 6d |Item "Qu|it" of m|
|000014a0| 65 6e 75 20 22 46 69 6c | 65 22 20 74 6f 20 22 51 |enu "Fil|e" to "Q|
|000014b0| 22 0d 2d 2d 20 61 64 64 | 20 22 45 64 69 74 22 20 |".-- add| "Edit" |
|000014c0| 6d 65 6e 75 20 26 20 6b | 69 6c 6c 20 69 74 0d 63 |menu & k|ill it.c|
|000014d0| 72 65 61 74 65 20 6d 65 | 6e 75 20 22 45 64 69 74 |reate me|nu "Edit|
|000014e0| 22 0d 70 75 74 20 22 55 | 6e 64 6f 22 20 61 66 74 |".put "U|ndo" aft|
|000014f0| 65 72 20 6d 65 6e 75 20 | 22 45 64 69 74 22 0d 70 |er menu |"Edit".p|
|00001500| 75 74 20 22 2d 22 20 61 | 66 74 65 72 20 6d 65 6e |ut "-" a|fter men|
|00001510| 75 20 22 45 64 69 74 22 | 0d 70 75 74 20 22 43 75 |u "Edit"|.put "Cu|
|00001520| 74 22 20 61 66 74 65 72 | 20 6d 65 6e 75 20 22 45 |t" after| menu "E|
|00001530| 64 69 74 22 0d 70 75 74 | 20 22 43 6f 70 79 22 20 |dit".put| "Copy" |
|00001540| 61 66 74 65 72 20 6d 65 | 6e 75 20 22 45 64 69 74 |after me|nu "Edit|
|00001550| 22 0d 70 75 74 20 22 50 | 61 73 74 65 22 20 61 66 |".put "P|aste" af|
|00001560| 74 65 72 20 6d 65 6e 75 | 20 22 45 64 69 74 22 0d |ter menu| "Edit".|
|00001570| 70 75 74 20 22 43 6c 65 | 61 72 22 20 61 66 74 65 |put "Cle|ar" afte|
|00001580| 72 20 6d 65 6e 75 20 22 | 45 64 69 74 22 0d 73 65 |r menu "|Edit".se|
|00001590| 74 20 74 68 65 20 63 6d | 64 43 68 61 72 20 6f 66 |t the cm|dChar of|
|000015a0| 20 6d 65 6e 75 49 74 65 | 6d 20 22 55 6e 64 6f 22 | menuIte|m "Undo"|
|000015b0| 20 6f 66 20 6d 65 6e 75 | 20 22 45 64 69 74 22 20 | of menu| "Edit" |
|000015c0| 74 6f 20 22 5a 22 0d 73 | 65 74 20 74 68 65 20 63 |to "Z".s|et the c|
|000015d0| 6d 64 43 68 61 72 20 6f | 66 20 6d 65 6e 75 49 74 |mdChar o|f menuIt|
|000015e0| 65 6d 20 22 43 75 74 22 | 20 6f 66 20 6d 65 6e 75 |em "Cut"| of menu|
|000015f0| 20 22 45 64 69 74 22 20 | 74 6f 20 22 58 22 0d 73 | "Edit" |to "X".s|
|00001600| 65 74 20 74 68 65 20 63 | 6d 64 43 68 61 72 20 6f |et the c|mdChar o|
|00001610| 66 20 6d 65 6e 75 49 74 | 65 6d 20 22 43 6f 70 79 |f menuIt|em "Copy|
|00001620| 22 20 6f 66 20 6d 65 6e | 75 20 22 45 64 69 74 22 |" of men|u "Edit"|
|00001630| 20 74 6f 20 22 43 22 0d | 73 65 74 20 74 68 65 20 | to "C".|set the |
|00001640| 63 6d 64 43 68 61 72 20 | 6f 66 20 6d 65 6e 75 49 |cmdChar |of menuI|
|00001650| 74 65 6d 20 22 50 61 73 | 74 65 22 20 6f 66 20 6d |tem "Pas|te" of m|
|00001660| 65 6e 75 20 22 45 64 69 | 74 22 20 74 6f 20 22 56 |enu "Edi|t" to "V|
|00001670| 22 0d 64 69 73 61 62 6c | 65 20 6d 65 6e 75 20 22 |".disabl|e menu "|
|00001680| 45 64 69 74 22 0d 2d 2d | 61 64 64 20 22 41 6e 61 |Edit".--|add "Ana|
|00001690| 6c 79 73 69 73 22 20 6d | 65 6e 75 0d 63 72 65 61 |lysis" m|enu.crea|
|000016a0| 74 65 20 6d 65 6e 75 20 | 22 41 6e 61 6c 79 73 69 |te menu |"Analysi|
|000016b0| 73 22 0d 70 75 74 20 22 | 53 74 61 72 74 20 61 6e |s".put "|Start an|
|000016c0| 61 6c 79 73 69 73 22 20 | 61 66 74 65 72 20 6d 65 |alysis" |after me|
|000016d0| 6e 75 20 22 41 6e 61 6c | 79 73 69 73 22 20 77 69 |nu "Anal|ysis" wi|
|000016e0| 74 68 20 6d 65 6e 75 4d | 73 67 20 22 64 6f 41 6e |th menuM|sg "doAn|
|000016f0| 61 6c 79 73 69 73 22 0d | 73 65 74 20 74 68 65 20 |alysis".|set the |
|00001700| 63 6d 64 43 68 61 72 20 | 6f 66 20 6d 65 6e 75 49 |cmdChar |of menuI|
|00001710| 74 65 6d 20 22 53 74 61 | 72 74 20 61 6e 61 6c 79 |tem "Sta|rt analy|
|00001720| 73 69 73 22 20 6f 66 20 | 6d 65 6e 75 20 22 41 6e |sis" of |menu "An|
|00001730| 61 6c 79 73 69 73 22 20 | 74 6f 20 22 47 22 0d 2d |alysis" |to "G".-|
|00001740| 2d 20 61 64 64 20 22 53 | 65 74 74 69 6e 67 73 22 |- add "S|ettings"|
|00001750| 20 6d 65 6e 75 0d 63 72 | 65 61 74 65 20 6d 65 6e | menu.cr|eate men|
|00001760| 75 20 22 53 65 74 74 69 | 6e 67 73 22 0d 70 75 74 |u "Setti|ngs".put|
|00001770| 20 22 31 30 30 25 20 6d | 61 74 63 68 20 73 79 6d | "100% m|atch sym|
|00001780| 62 6f 6c 2e 2e 2e 22 20 | 61 66 74 65 72 20 6d 65 |bol..." |after me|
|00001790| 6e 75 20 22 53 65 74 74 | 69 6e 67 73 22 20 77 69 |nu "Sett|ings" wi|
|000017a0| 74 68 20 6d 65 6e 75 4d | 73 67 20 22 67 65 74 41 |th menuM|sg "getA|
|000017b0| 6c 6c 4d 61 74 63 68 65 | 73 43 48 22 0d 70 75 74 |llMatche|sCH".put|
|000017c0| 20 22 41 6c 6c 20 62 75 | 74 20 31 20 6d 61 74 63 | "All bu|t 1 matc|
|000017d0| 68 20 73 79 6d 62 6f 6c | 2e 2e 2e 22 20 61 66 74 |h symbol|..." aft|
|000017e0| 65 72 20 6d 65 6e 75 20 | 22 53 65 74 74 69 6e 67 |er menu |"Setting|
|000017f0| 73 22 20 77 69 74 68 20 | 6d 65 6e 75 4d 73 67 20 |s" with |menuMsg |
|00001800| 22 67 65 74 41 6c 6c 42 | 75 74 4f 6e 65 43 48 22 |"getAllB|utOneCH"|
|00001810| 0d 70 75 74 20 22 4d 61 | 74 63 68 20 62 75 74 20 |.put "Ma|tch but |
|00001820| 69 6e 76 61 72 69 61 6e | 74 20 73 79 6d 62 6f 6c |invarian|t symbol|
|00001830| 2e 2e 2e 22 20 61 66 74 | 65 72 20 6d 65 6e 75 20 |..." aft|er menu |
|00001840| 22 53 65 74 74 69 6e 67 | 73 22 20 77 69 74 68 20 |"Setting|s" with |
|00001850| 6d 65 6e 75 4d 73 67 20 | 22 67 65 74 49 6e 76 61 |menuMsg |"getInva|
|00001860| 72 69 61 6e 74 43 48 22 | 0d 70 75 74 20 22 4e 6f |riantCH"|.put "No|
|00001870| 20 6d 61 74 63 68 20 73 | 79 6d 62 6f 6c 2e 2e 2e | match s|ymbol...|
|00001880| 22 20 61 66 74 65 72 20 | 6d 65 6e 75 20 22 53 65 |" after |menu "Se|
|00001890| 74 74 69 6e 67 73 22 20 | 77 69 74 68 20 6d 65 6e |ttings" |with men|
|000018a0| 75 4d 73 67 20 22 67 65 | 74 4e 6f 4d 61 74 63 68 |uMsg "ge|tNoMatch|
|000018b0| 43 48 22 0d 70 75 74 20 | 22 4e 6f 74 20 63 6f 6d |CH".put |"Not com|
|000018c0| 70 61 72 65 64 20 73 79 | 6d 62 6f 6c 2e 2e 2e 22 |pared sy|mbol..."|
|000018d0| 20 61 66 74 65 72 20 6d | 65 6e 75 20 22 53 65 74 | after m|enu "Set|
|000018e0| 74 69 6e 67 73 22 20 77 | 69 74 68 20 6d 65 6e 75 |tings" w|ith menu|
|000018f0| 4d 73 67 20 22 67 65 74 | 53 70 61 63 65 72 43 48 |Msg "get|SpacerCH|
|00001900| 22 0d 70 75 74 20 22 2d | 22 20 61 66 74 65 72 20 |".put "-|" after |
|00001910| 6d 65 6e 75 20 22 53 65 | 74 74 69 6e 67 73 22 0d |menu "Se|ttings".|
|00001920| 70 75 74 20 22 55 73 65 | 20 63 61 6e 6f 6e 69 63 |put "Use| canonic|
|00001930| 61 6c 20 70 61 69 72 73 | 22 20 61 66 74 65 72 20 |al pairs|" after |
|00001940| 6d 65 6e 75 20 22 53 65 | 74 74 69 6e 67 73 22 20 |menu "Se|ttings" |
|00001950| 77 69 74 68 20 6d 65 6e | 75 4d 73 67 20 22 72 65 |with men|uMsg "re|
|00001960| 73 65 74 43 61 6e 6f 6e | 69 63 61 6c 22 0d 70 75 |setCanon|ical".pu|
|00001970| 74 20 22 55 73 65 20 63 | 61 6e 6f 6e 69 63 61 6c |t "Use c|anonical|
|00001980| 20 2b 20 47 a5 55 20 70 | 61 69 72 73 22 20 61 66 | + G.U p|airs" af|
|00001990| 74 65 72 20 6d 65 6e 75 | 20 22 53 65 74 74 69 6e |ter menu| "Settin|
|000019a0| 67 73 22 20 77 69 74 68 | 20 6d 65 6e 75 4d 73 67 |gs" with| menuMsg|
|000019b0| 20 22 72 65 73 65 74 42 | 75 74 74 6f 6e 73 22 0d | "resetB|uttons".|
|000019c0| 70 75 74 20 22 55 73 65 | 20 6e 6f 6e 2d 63 61 6e |put "Use| non-can|
|000019d0| 6f 6e 69 63 61 6c 20 70 | 61 69 72 73 22 20 61 66 |onical p|airs" af|
|000019e0| 74 65 72 20 6d 65 6e 75 | 20 22 53 65 74 74 69 6e |ter menu| "Settin|
|000019f0| 67 73 22 20 77 69 74 68 | 20 6d 65 6e 75 4d 73 67 |gs" with| menuMsg|
|00001a00| 20 22 72 65 73 65 74 4e | 6f 6e 43 61 6e 6f 6e 69 | "resetN|onCanoni|
|00001a10| 63 61 6c 22 0d 70 75 74 | 20 22 2d 22 20 61 66 74 |cal".put| "-" aft|
|00001a20| 65 72 20 6d 65 6e 75 20 | 22 53 65 74 74 69 6e 67 |er menu |"Setting|
|00001a30| 73 22 0d 70 75 74 20 22 | 52 65 73 65 74 20 74 6f |s".put "|Reset to|
|00001a40| 20 64 65 66 61 75 6c 74 | 73 22 20 61 66 74 65 72 | default|s" after|
|00001a50| 20 6d 65 6e 75 20 22 53 | 65 74 74 69 6e 67 73 22 | menu "S|ettings"|
|00001a60| 20 77 69 74 68 20 6d 65 | 6e 75 4d 73 67 20 22 72 | with me|nuMsg "r|
|00001a70| 65 73 65 74 44 65 66 61 | 75 6c 74 73 22 0d 73 65 |esetDefa|ults".se|
|00001a80| 74 20 74 68 65 20 63 6d | 64 43 68 61 72 20 6f 66 |t the cm|dChar of|
|00001a90| 20 6d 65 6e 75 49 74 65 | 6d 20 22 52 65 73 65 74 | menuIte|m "Reset|
|00001aa0| 20 74 6f 20 64 65 66 61 | 75 6c 74 73 22 20 6f 66 | to defa|ults" of|
|00001ab0| 20 6d 65 6e 75 20 22 53 | 65 74 74 69 6e 67 73 22 | menu "S|ettings"|
|00001ac0| 20 74 6f 20 22 52 22 0d | 65 6e 64 20 61 73 73 65 | to "R".|end asse|
|00001ad0| 6d 62 6c 65 4d 65 6e 75 | 73 0d 0d 6f 6e 20 71 75 |mbleMenu|s..on qu|
|00001ae0| 69 74 48 43 0d 73 65 6e | 64 20 22 64 6f 4d 65 6e |itHC.sen|d "doMen|
|00001af0| 75 20 71 75 69 74 20 68 | 79 70 65 72 63 61 72 64 |u quit h|ypercard|
|00001b00| 22 20 74 6f 20 68 79 70 | 65 72 63 61 72 64 0d 65 |" to hyp|ercard.e|
|00001b10| 6e 64 20 71 75 69 74 48 | 43 0d 0d 6f 6e 20 67 65 |nd quitH|C..on ge|
|00001b20| 74 41 6c 6c 4d 61 74 63 | 68 65 73 43 48 0d 70 75 |tAllMatc|hesCH.pu|
|00001b30| 74 20 63 61 72 64 20 66 | 69 65 6c 64 20 22 61 6c |t card f|ield "al|
|00001b40| 6c 4d 61 74 63 68 65 73 | 43 48 22 20 69 6e 74 6f |lMatches|CH" into|
|00001b50| 20 63 75 72 72 65 6e 74 | 43 48 0d 70 75 74 20 75 | current|CH.put u|
|00001b60| 73 65 72 43 48 28 22 31 | 30 30 25 20 6d 61 74 63 |serCH("1|00% matc|
|00001b70| 68 22 2c 63 75 72 72 65 | 6e 74 43 48 29 20 69 6e |h",curre|ntCH) in|
|00001b80| 74 6f 20 63 61 72 64 20 | 66 69 65 6c 64 20 22 61 |to card |field "a|
|00001b90| 6c 6c 4d 61 74 63 68 65 | 73 43 48 22 0d 65 6e 64 |llMatche|sCH".end|
|00001ba0| 20 67 65 74 41 6c 6c 4d | 61 74 63 68 65 73 43 48 | getAllM|atchesCH|
|00001bb0| 0d 0d 6f 6e 20 67 65 74 | 41 6c 6c 42 75 74 4f 6e |..on get|AllButOn|
|00001bc0| 65 43 48 0d 70 75 74 20 | 63 61 72 64 20 66 69 65 |eCH.put |card fie|
|00001bd0| 6c 64 20 22 41 6c 6c 42 | 75 74 4f 6e 65 43 48 22 |ld "AllB|utOneCH"|
|00001be0| 20 69 6e 74 6f 20 63 75 | 72 72 65 6e 74 43 48 0d | into cu|rrentCH.|
|00001bf0| 70 75 74 20 75 73 65 72 | 43 48 28 22 61 6c 6c 20 |put user|CH("all |
|00001c00| 62 75 74 20 31 20 6d 61 | 74 63 68 22 2c 63 75 72 |but 1 ma|tch",cur|
|00001c10| 72 65 6e 74 43 48 29 20 | 69 6e 74 6f 20 63 61 72 |rentCH) |into car|
|00001c20| 64 20 66 69 65 6c 64 20 | 22 41 6c 6c 42 75 74 4f |d field |"AllButO|
|00001c30| 6e 65 43 48 22 0d 65 6e | 64 20 67 65 74 41 6c 6c |neCH".en|d getAll|
|00001c40| 42 75 74 4f 6e 65 43 48 | 0d 0d 6f 6e 20 67 65 74 |ButOneCH|..on get|
|00001c50| 69 6e 76 61 72 69 61 6e | 74 43 48 0d 70 75 74 20 |invarian|tCH.put |
|00001c60| 63 61 72 64 20 66 69 65 | 6c 64 20 22 69 6e 76 61 |card fie|ld "inva|
|00001c70| 72 69 61 6e 74 43 48 22 | 20 69 6e 74 6f 20 63 75 |riantCH"| into cu|
|00001c80| 72 72 65 6e 74 43 48 0d | 70 75 74 20 75 73 65 72 |rrentCH.|put user|
|00001c90| 43 48 28 22 6d 61 74 63 | 68 65 73 2c 20 62 75 74 |CH("matc|hes, but|
|00001ca0| 20 69 6e 76 61 72 69 61 | 6e 74 22 2c 63 75 72 72 | invaria|nt",curr|
|00001cb0| 65 6e 74 43 48 29 20 69 | 6e 74 6f 20 63 61 72 64 |entCH) i|nto card|
|00001cc0| 20 66 69 65 6c 64 20 22 | 69 6e 76 61 72 69 61 6e | field "|invarian|
|00001cd0| 74 43 48 22 0d 65 6e 64 | 20 67 65 74 69 6e 76 61 |tCH".end| getinva|
|00001ce0| 72 69 61 6e 74 43 48 0d | 0d 6f 6e 20 67 65 74 4e |riantCH.|.on getN|
|00001cf0| 6f 4d 61 74 63 68 43 48 | 0d 70 75 74 20 63 61 72 |oMatchCH|.put car|
|00001d00| 64 20 66 69 65 6c 64 20 | 22 4e 6f 4d 61 74 63 68 |d field |"NoMatch|
|00001d10| 43 48 22 20 69 6e 74 6f | 20 63 75 72 72 65 6e 74 |CH" into| current|
|00001d20| 43 48 0d 70 75 74 20 75 | 73 65 72 43 48 28 22 6e |CH.put u|serCH("n|
|00001d30| 6f 20 6d 61 74 63 68 22 | 2c 63 75 72 72 65 6e 74 |o match"|,current|
|00001d40| 43 48 29 20 69 6e 74 6f | 20 63 61 72 64 20 66 69 |CH) into| card fi|
|00001d50| 65 6c 64 20 22 4e 6f 4d | 61 74 63 68 43 48 22 0d |eld "NoM|atchCH".|
|00001d60| 65 6e 64 20 67 65 74 4e | 6f 4d 61 74 63 68 43 48 |end getN|oMatchCH|
|00001d70| 0d 0d 6f 6e 20 67 65 74 | 73 70 61 63 65 72 43 48 |..on get|spacerCH|
|00001d80| 0d 70 75 74 20 63 61 72 | 64 20 66 69 65 6c 64 20 |.put car|d field |
|00001d90| 22 73 70 61 63 65 72 43 | 48 22 20 69 6e 74 6f 20 |"spacerC|H" into |
|00001da0| 63 75 72 72 65 6e 74 43 | 48 0d 70 75 74 20 75 73 |currentC|H.put us|
|00001db0| 65 72 43 48 28 22 70 6f | 73 69 74 69 6f 6e 20 6e |erCH("po|sition n|
|00001dc0| 6f 74 20 63 6f 6d 70 61 | 72 65 64 22 2c 63 75 72 |ot compa|red",cur|
|00001dd0| 72 65 6e 74 43 48 29 20 | 69 6e 74 6f 20 63 61 72 |rentCH) |into car|
|00001de0| 64 20 66 69 65 6c 64 20 | 22 73 70 61 63 65 72 43 |d field |"spacerC|
|00001df0| 48 22 0d 65 6e 64 20 67 | 65 74 73 70 61 63 65 72 |H".end g|etspacer|
|00001e00| 43 48 0d 0d 66 75 6e 63 | 74 69 6f 6e 20 75 73 65 |CH..func|tion use|
|00001e10| 72 43 48 20 70 72 6f 6d | 70 74 2c 63 75 72 72 65 |rCH prom|pt,curre|
|00001e20| 6e 74 43 48 0d 2d 2d 20 | 61 73 6b 20 66 6f 72 20 |ntCH.-- |ask for |
|00001e30| 61 20 6e 65 77 20 73 79 | 6d 62 6f 6c 0d 61 73 6b |a new sy|mbol.ask|
|00001e40| 20 22 57 68 61 74 20 63 | 68 61 72 61 63 74 65 72 | "What c|haracter|
|00001e50| 20 64 6f 20 79 6f 75 20 | 77 61 6e 74 20 74 6f 20 | do you |want to |
|00001e60| 75 73 65 20 74 6f 20 72 | 65 70 72 65 73 65 6e 74 |use to r|epresent|
|00001e70| 20 22 20 26 20 71 75 6f | 74 65 20 26 20 70 72 6f | " & quo|te & pro|
|00001e80| 6d 70 74 20 26 20 71 75 | 6f 74 65 20 26 20 22 3f |mpt & qu|ote & "?|
|00001e90| 22 20 77 69 74 68 20 63 | 75 72 72 65 6e 74 43 48 |" with c|urrentCH|
|00001ea0| 0d 69 66 20 69 74 20 69 | 73 20 65 6d 70 74 79 20 |.if it i|s empty |
|00001eb0| 74 68 65 6e 20 70 75 74 | 20 63 68 61 72 20 31 20 |then put| char 1 |
|00001ec0| 6f 66 20 63 75 72 72 65 | 6e 74 43 48 20 69 6e 74 |of curre|ntCH int|
|00001ed0| 6f 20 75 73 65 72 43 48 | 0d 65 6c 73 65 20 70 75 |o userCH|.else pu|
|00001ee0| 74 20 63 68 61 72 20 31 | 20 6f 66 20 69 74 20 69 |t char 1| of it i|
|00001ef0| 6e 74 6f 20 75 73 65 72 | 43 48 0d 72 65 74 75 72 |nto user|CH.retur|
|00001f00| 6e 20 75 73 65 72 43 48 | 0d 65 6e 64 20 75 73 65 |n userCH|.end use|
|00001f10| 72 43 48 0d 0d 6f 6e 20 | 72 65 73 65 74 43 61 6e |rCH..on |resetCan|
|00001f20| 6f 6e 69 63 61 6c 0d 2d | 2d 72 65 73 65 74 20 74 |onical.-|-reset t|
|00001f30| 6f 20 63 61 6e 6f 6e 69 | 63 61 6c 20 70 61 69 72 |o canoni|cal pair|
|00001f40| 69 6e 67 73 0d 72 65 73 | 65 74 42 75 74 74 6f 6e |ings.res|etButton|
|00001f50| 73 0d 73 65 74 20 74 68 | 65 20 68 69 67 68 6c 69 |s.set th|e highli|
|00001f60| 67 68 74 20 6f 66 20 63 | 61 72 64 20 62 75 74 74 |ght of c|ard butt|
|00001f70| 6f 6e 20 22 47 a5 55 22 | 20 74 6f 20 66 61 6c 73 |on "G.U"| to fals|
|00001f80| 65 0d 65 6e 64 20 72 65 | 73 65 74 43 61 6e 6f 6e |e.end re|setCanon|
|00001f90| 69 63 61 6c 0d 0d 6f 6e | 20 72 65 73 65 74 4e 6f |ical..on| resetNo|
|00001fa0| 6e 43 61 6e 6f 6e 69 63 | 61 6c 0d 2d 2d 20 72 65 |nCanonic|al.-- re|
|00001fb0| 73 65 74 20 74 6f 20 6e | 6f 6e 2d 63 61 6e 6f 6e |set to n|on-canon|
|00001fc0| 69 63 61 6c 20 70 61 69 | 72 69 6e 67 73 0d 72 65 |ical pai|rings.re|
|00001fd0| 73 65 74 42 75 74 74 6f | 6e 73 0d 73 65 74 20 74 |setButto|ns.set t|
|00001fe0| 68 65 20 68 69 67 68 6c | 69 67 68 74 20 6f 66 20 |he highl|ight of |
|00001ff0| 63 61 72 64 20 62 75 74 | 74 6f 6e 20 22 47 3d 43 |card but|ton "G=C|
|00002000| 22 20 74 6f 20 66 61 6c | 73 65 0d 73 65 74 20 74 |" to fal|se.set t|
|00002010| 68 65 20 68 69 67 68 6c | 69 67 68 74 20 6f 66 20 |he highl|ight of |
|00002020| 63 61 72 64 20 62 75 74 | 74 6f 6e 20 22 41 3d 55 |card but|ton "A=U|
|00002030| 22 20 74 6f 20 66 61 6c | 73 65 0d 73 65 74 20 74 |" to fal|se.set t|
|00002040| 68 65 20 68 69 67 68 6c | 69 67 68 74 20 6f 66 20 |he highl|ight of |
|00002050| 63 61 72 64 20 62 75 74 | 74 6f 6e 20 22 41 a5 43 |card but|ton "A.C|
|00002060| 22 20 74 6f 20 74 72 75 | 65 0d 73 65 74 20 74 68 |" to tru|e.set th|
|00002070| 65 20 68 69 67 68 6c 69 | 67 68 74 20 6f 66 20 63 |e highli|ght of c|
|00002080| 61 72 64 20 62 75 74 74 | 6f 6e 20 22 47 a5 41 22 |ard butt|on "G.A"|
|00002090| 20 74 6f 20 74 72 75 65 | 0d 65 6e 64 20 72 65 73 | to true|.end res|
|000020a0| 65 74 4e 6f 6e 43 61 6e | 6f 6e 69 63 61 6c 0d 0d |etNonCan|onical..|
|000020b0| 6f 6e 20 61 62 6f 75 74 | 43 6f 56 61 72 0d 2d 2d |on about|CoVar.--|
|000020c0| 20 73 68 6f 77 20 22 61 | 62 6f 75 74 20 63 6f 76 | show "a|bout cov|
|000020d0| 61 72 69 61 74 69 6f 6e | 2e 2e 2e 22 20 70 61 6c |ariation|..." pal|
|000020e0| 65 74 74 65 0d 70 61 6c | 65 74 74 65 20 22 61 62 |ette.pal|ette "ab|
|000020f0| 6f 75 74 2e 2e 2e 22 0d | 65 6e 64 20 61 62 6f 75 |out...".|end abou|
|00002100| 74 43 6f 56 61 72 0d 0d | 6f 6e 20 63 6c 6f 73 65 |tCoVar..|on close|
|00002110| 46 69 6c 65 0d 2d 2d 65 | 6d 70 74 79 20 6f 75 74 |File.--e|mpty out|
|00002120| 20 6d 65 6d 6f 72 79 20 | 26 20 6c 6f 73 65 20 66 | memory |& lose f|
|00002130| 69 6c 65 50 61 74 68 0d | 67 6c 6f 62 61 6c 20 73 |ilePath.|global s|
|00002140| 65 71 73 2c 70 6f 73 64 | 61 74 61 2c 70 6f 73 64 |eqs,posd|ata,posd|
|00002150| 61 74 61 6e 75 6d 73 2c | 6d 61 73 6b 2c 6e 75 6d |atanums,|mask,num|
|00002160| 53 65 71 73 2c 73 65 71 | 4e 61 6d 65 73 0d 70 75 |Seqs,seq|Names.pu|
|00002170| 74 20 65 6d 70 74 79 20 | 69 6e 74 6f 20 73 65 71 |t empty |into seq|
|00002180| 73 0d 70 75 74 20 65 6d | 70 74 79 20 69 6e 74 6f |s.put em|pty into|
|00002190| 20 70 6f 73 44 61 74 61 | 0d 70 75 74 20 65 6d 70 | posData|.put emp|
|000021a0| 74 79 20 69 6e 74 6f 20 | 70 6f 73 44 61 74 61 4e |ty into |posDataN|
|000021b0| 75 6d 73 0d 70 75 74 20 | 65 6d 70 74 79 20 69 6e |ums.put |empty in|
|000021c0| 74 6f 20 6d 61 73 6b 0d | 70 75 74 20 65 6d 70 74 |to mask.|put empt|
|000021d0| 79 20 69 6e 74 6f 20 6e | 75 6d 53 65 71 73 0d 70 |y into n|umSeqs.p|
|000021e0| 75 74 20 65 6d 70 74 79 | 20 69 6e 74 6f 20 73 65 |ut empty| into se|
|000021f0| 71 4e 61 6d 65 73 0d 70 | 75 74 20 22 6e 6f 6e 65 |qNames.p|ut "none|
|00002200| 22 20 69 6e 74 6f 20 63 | 61 72 64 20 66 69 65 6c |" into c|ard fiel|
|00002210| 64 20 22 74 68 65 46 69 | 6c 65 22 0d 70 75 74 20 |d "theFi|le".put |
|00002220| 65 6d 70 74 79 20 69 6e | 74 6f 20 6d 73 67 0d 65 |empty in|to msg.e|
|00002230| 6e 64 20 63 6c 6f 73 65 | 46 69 6c 65 0d 0d 6f 6e |nd close|File..on|
|00002240| 20 67 6f 48 65 6c 70 0d | 63 6c 6f 73 65 20 77 69 | goHelp.|close wi|
|00002250| 6e 64 6f 77 20 22 61 62 | 6f 75 74 2e 2e 2e 22 0d |ndow "ab|out...".|
|00002260| 76 69 73 75 61 6c 20 65 | 66 66 65 63 74 20 73 68 |visual e|ffect sh|
|00002270| 72 69 6e 6b 20 74 6f 20 | 74 6f 70 0d 67 6f 20 74 |rink to |top.go t|
|00002280| 6f 20 63 61 72 64 20 22 | 68 65 6c 70 43 61 72 64 |o card "|helpCard|
|00002290| 22 0d 65 6e 64 20 67 6f | 48 65 6c 70 0d 0d 6f 6e |".end go|Help..on|
|000022a0| 20 72 65 73 65 74 42 75 | 74 74 6f 6e 73 0d 2d 2d | resetBu|ttons.--|
|000022b0| 20 53 65 74 20 74 68 65 | 20 62 75 74 74 6f 6e 73 | Set the| buttons|
|000022c0| 20 74 6f 20 74 68 65 69 | 72 20 64 65 66 61 75 6c | to thei|r defaul|
|000022d0| 74 20 76 61 6c 75 65 73 | 0d 73 65 74 20 74 68 65 |t values|.set the|
|000022e0| 20 68 69 67 68 6c 69 67 | 68 74 20 6f 66 20 63 61 | highlig|ht of ca|
|000022f0| 72 64 20 62 75 74 74 6f | 6e 20 22 53 74 72 69 63 |rd butto|n "Stric|
|00002300| 74 20 63 6f 76 61 72 69 | 61 74 69 6f 6e 20 28 6d |t covari|ation (m|
|00002310| 61 74 72 69 78 29 22 20 | 74 6f 20 66 61 6c 73 65 |atrix)" |to false|
|00002320| 0d 73 65 74 20 74 68 65 | 20 68 69 67 68 6c 69 67 |.set the| highlig|
|00002330| 68 74 20 6f 66 20 63 61 | 72 64 20 62 75 74 74 6f |ht of ca|rd butto|
|00002340| 6e 20 22 53 74 72 69 63 | 74 20 63 6f 76 61 72 69 |n "Stric|t covari|
|00002350| 61 74 69 6f 6e 20 28 6c | 69 73 74 29 22 20 74 6f |ation (l|ist)" to|
|00002360| 20 66 61 6c 73 65 0d 73 | 65 74 20 74 68 65 20 68 | false.s|et the h|
|00002370| 69 67 68 6c 69 67 68 74 | 20 6f 66 20 63 61 72 64 |ighlight| of card|
|00002380| 20 62 75 74 74 6f 6e 20 | 22 43 6f 6d 70 65 6e 73 | button |"Compens|
|00002390| 61 74 6f 72 79 20 63 68 | 61 6e 67 65 73 22 20 74 |atory ch|anges" t|
|000023a0| 6f 20 74 72 75 65 0d 73 | 65 74 20 74 68 65 20 68 |o true.s|et the h|
|000023b0| 69 67 68 6c 69 67 68 74 | 20 6f 66 20 63 61 72 64 |ighlight| of card|
|000023c0| 20 62 75 74 74 6f 6e 20 | 22 41 3d 55 22 20 74 6f | button |"A=U" to|
|000023d0| 20 74 72 75 65 0d 73 65 | 74 20 74 68 65 20 68 69 | true.se|t the hi|
|000023e0| 67 68 6c 69 67 68 74 20 | 6f 66 20 63 61 72 64 20 |ghlight |of card |
|000023f0| 62 75 74 74 6f 6e 20 22 | 47 3d 43 22 20 74 6f 20 |button "|G=C" to |
|00002400| 74 72 75 65 0d 73 65 74 | 20 74 68 65 20 68 69 67 |true.set| the hig|
|00002410| 68 6c 69 67 68 74 20 6f | 66 20 63 61 72 64 20 62 |hlight o|f card b|
|00002420| 75 74 74 6f 6e 20 22 47 | a5 55 22 20 74 6f 20 74 |utton "G|.U" to t|
|00002430| 72 75 65 0d 73 65 74 20 | 74 68 65 20 68 69 67 68 |rue.set |the high|
|00002440| 6c 69 67 68 74 20 6f 66 | 20 63 61 72 64 20 62 75 |light of| card bu|
|00002450| 74 74 6f 6e 20 22 41 a5 | 43 22 20 74 6f 20 66 61 |tton "A.|C" to fa|
|00002460| 6c 73 65 0d 73 65 74 20 | 74 68 65 20 68 69 67 68 |lse.set |the high|
|00002470| 6c 69 67 68 74 20 6f 66 | 20 63 61 72 64 20 62 75 |light of| card bu|
|00002480| 74 74 6f 6e 20 22 47 a5 | 41 22 20 74 6f 20 66 61 |tton "G.|A" to fa|
|00002490| 6c 73 65 0d 73 65 74 20 | 74 68 65 20 68 69 67 68 |lse.set |the high|
|000024a0| 6c 69 67 68 74 20 6f 66 | 20 63 61 72 64 20 62 75 |light of| card bu|
|000024b0| 74 74 6f 6e 20 22 55 a5 | 43 22 20 74 6f 20 66 61 |tton "U.|C" to fa|
|000024c0| 6c 73 65 0d 73 65 74 20 | 74 68 65 20 68 69 67 68 |lse.set |the high|
|000024d0| 6c 69 67 68 74 20 6f 66 | 20 63 61 72 64 20 62 75 |light of| card bu|
|000024e0| 74 74 6f 6e 20 22 41 a5 | 41 22 20 74 6f 20 66 61 |tton "A.|A" to fa|
|000024f0| 6c 73 65 0d 73 65 74 20 | 74 68 65 20 68 69 67 68 |lse.set |the high|
|00002500| 6c 69 67 68 74 20 6f 66 | 20 63 61 72 64 20 62 75 |light of| card bu|
|00002510| 74 74 6f 6e 20 22 47 a5 | 47 22 20 74 6f 20 66 61 |tton "G.|G" to fa|
|00002520| 6c 73 65 0d 73 65 74 20 | 74 68 65 20 68 69 67 68 |lse.set |the high|
|00002530| 6c 69 67 68 74 20 6f 66 | 20 63 61 72 64 20 62 75 |light of| card bu|
|00002540| 74 74 6f 6e 20 22 43 a5 | 43 22 20 74 6f 20 66 61 |tton "C.|C" to fa|
|00002550| 6c 73 65 0d 73 65 74 20 | 74 68 65 20 68 69 67 68 |lse.set |the high|
|00002560| 6c 69 67 68 74 20 6f 66 | 20 63 61 72 64 20 62 75 |light of| card bu|
|00002570| 74 74 6f 6e 20 22 55 a5 | 55 22 20 74 6f 20 66 61 |tton "U.|U" to fa|
|00002580| 6c 73 65 0d 65 6e 64 20 | 72 65 73 65 74 42 75 74 |lse.end |resetBut|
|00002590| 74 6f 6e 73 0d 0d 6f 6e | 20 72 65 73 65 74 44 65 |tons..on| resetDe|
|000025a0| 66 61 75 6c 74 73 0d 2d | 2d 20 72 65 73 65 74 20 |faults.-|- reset |
|000025b0| 61 6c 6c 20 76 61 6c 75 | 65 73 20 74 6f 20 74 68 |all valu|es to th|
|000025c0| 65 69 72 20 64 65 66 61 | 75 6c 74 73 0d 72 65 73 |eir defa|ults.res|
|000025d0| 65 74 42 75 74 74 6f 6e | 73 0d 70 75 74 20 22 2a |etButton|s.put "*|
|000025e0| 22 20 69 6e 74 6f 20 63 | 61 72 64 20 66 69 65 6c |" into c|ard fiel|
|000025f0| 64 20 22 61 6c 6c 4d 61 | 74 63 68 65 73 43 48 22 |d "allMa|tchesCH"|
|00002600| 0d 70 75 74 20 22 2b 22 | 20 69 6e 74 6f 20 63 61 |.put "+"| into ca|
|00002610| 72 64 20 66 69 65 6c 64 | 20 22 61 6c 6c 42 75 74 |rd field| "allBut|
|00002620| 4f 6e 65 43 48 22 0d 70 | 75 74 20 22 2e 22 20 69 |OneCH".p|ut "." i|
|00002630| 6e 74 6f 20 63 61 72 64 | 20 66 69 65 6c 64 20 22 |nto card| field "|
|00002640| 6e 6f 4d 61 74 63 68 43 | 48 22 0d 70 75 74 20 22 |noMatchC|H".put "|
|00002650| 6f 22 20 69 6e 74 6f 20 | 63 61 72 64 20 66 69 65 |o" into |card fie|
|00002660| 6c 64 20 22 69 6e 76 61 | 72 69 61 6e 74 43 48 22 |ld "inva|riantCH"|
|00002670| 0d 70 75 74 20 22 2d 22 | 20 69 6e 74 6f 20 63 61 |.put "-"| into ca|
|00002680| 72 64 20 66 69 65 6c 64 | 20 22 73 70 61 63 65 72 |rd field| "spacer|
|00002690| 43 48 22 0d 65 6e 64 20 | 72 65 73 65 74 44 65 66 |CH".end |resetDef|
|000026a0| 61 75 6c 74 73 0d 0d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |aults..-|--------|
|000026b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2d |--------|------.-|
|000026f0| 2d 20 44 61 74 61 20 61 | 6e 61 6c 79 73 69 73 20 |- Data a|nalysis |
|00002700| 73 63 72 69 70 74 73 0d | 2d 2d 0d 0d 6f 6e 20 64 |scripts.|--..on d|
|00002710| 65 66 69 6e 65 43 68 61 | 72 73 0d 2d 2d 20 47 65 |efineCha|rs.-- Ge|
|00002720| 74 20 74 68 65 20 63 68 | 61 72 61 63 74 65 72 73 |t the ch|aracters|
|00002730| 20 66 72 6f 6d 20 74 68 | 65 20 63 61 72 64 20 66 | from th|e card f|
|00002740| 69 65 6c 64 73 20 66 6f | 72 20 75 73 65 20 69 6e |ields fo|r use in|
|00002750| 20 74 68 65 20 72 65 73 | 75 6c 74 73 20 6d 61 74 | the res|ults mat|
|00002760| 72 69 78 0d 67 6c 6f 62 | 61 6c 20 61 6c 6c 4d 61 |rix.glob|al allMa|
|00002770| 74 63 68 65 73 43 48 2c | 61 6c 6c 42 75 74 4f 6e |tchesCH,|allButOn|
|00002780| 65 43 48 2c 69 6e 76 61 | 72 69 61 6e 74 43 48 2c |eCH,inva|riantCH,|
|00002790| 73 70 61 63 65 72 43 48 | 2c 6e 6f 4d 61 74 63 68 |spacerCH|,noMatch|
|000027a0| 43 48 2c 6d 61 74 63 68 | 4c 69 73 74 0d 70 75 74 |CH,match|List.put|
|000027b0| 20 63 68 61 72 20 31 20 | 6f 66 20 63 61 72 64 20 | char 1 |of card |
|000027c0| 66 69 65 6c 64 20 22 61 | 6c 6c 4d 61 74 63 68 65 |field "a|llMatche|
|000027d0| 73 43 48 22 20 69 6e 74 | 6f 20 61 6c 6c 4d 61 74 |sCH" int|o allMat|
|000027e0| 63 68 65 73 43 48 0d 70 | 75 74 20 63 68 61 72 20 |chesCH.p|ut char |
|000027f0| 31 20 6f 66 20 63 61 72 | 64 20 66 69 65 6c 64 20 |1 of car|d field |
|00002800| 22 61 6c 6c 42 75 74 4f | 6e 65 43 48 22 20 69 6e |"allButO|neCH" in|
|00002810| 74 6f 20 61 6c 6c 42 75 | 74 4f 6e 65 43 48 0d 70 |to allBu|tOneCH.p|
|00002820| 75 74 20 63 68 61 72 20 | 31 20 6f 66 20 63 61 72 |ut char |1 of car|
|00002830| 64 20 66 69 65 6c 64 20 | 22 6e 6f 4d 61 74 63 68 |d field |"noMatch|
|00002840| 43 48 22 20 69 6e 74 6f | 20 6e 6f 4d 61 74 63 68 |CH" into| noMatch|
|00002850| 43 48 0d 70 75 74 20 63 | 68 61 72 20 31 20 6f 66 |CH.put c|har 1 of|
|00002860| 20 63 61 72 64 20 66 69 | 65 6c 64 20 22 73 70 61 | card fi|eld "spa|
|00002870| 63 65 72 43 48 22 20 69 | 6e 74 6f 20 73 70 61 63 |cerCH" i|nto spac|
|00002880| 65 72 43 48 0d 70 75 74 | 20 63 68 61 72 20 31 20 |erCH.put| char 1 |
|00002890| 6f 66 20 63 61 72 64 20 | 66 69 65 6c 64 20 22 69 |of card |field "i|
|000028a0| 6e 76 61 72 69 61 6e 74 | 43 48 22 20 69 6e 74 6f |nvariant|CH" into|
|000028b0| 20 69 6e 76 61 72 69 61 | 6e 74 43 48 0d 2d 2d 20 | invaria|ntCH.-- |
|000028c0| 47 65 74 20 74 68 65 20 | 6d 61 74 63 68 54 79 70 |Get the |matchTyp|
|000028d0| 65 73 20 61 6c 6c 6f 77 | 65 64 20 69 6e 20 63 61 |es allow|ed in ca|
|000028e0| 73 65 20 74 68 65 79 27 | 72 65 20 6e 65 65 64 65 |se they'|re neede|
|000028f0| 64 0d 70 75 74 20 65 6d | 70 74 79 20 69 6e 74 6f |d.put em|pty into|
|00002900| 20 6d 61 74 63 68 4c 69 | 73 74 0d 69 66 20 74 68 | matchLi|st.if th|
|00002910| 65 20 68 69 67 68 6c 69 | 67 68 74 20 6f 66 20 63 |e highli|ght of c|
|00002920| 61 72 64 20 62 75 74 74 | 6f 6e 20 22 41 3d 55 22 |ard butt|on "A=U"|
|00002930| 20 69 73 20 74 72 75 65 | 20 74 68 65 6e 20 70 75 | is true| then pu|
|00002940| 74 20 22 41 55 2c 55 41 | 2c 22 20 61 66 74 65 72 |t "AU,UA|," after|
|00002950| 20 6d 61 74 63 68 4c 69 | 73 74 0d 69 66 20 74 68 | matchLi|st.if th|
|00002960| 65 20 68 69 67 68 6c 69 | 67 68 74 20 6f 66 20 63 |e highli|ght of c|
|00002970| 61 72 64 20 62 75 74 74 | 6f 6e 20 22 47 3d 43 22 |ard butt|on "G=C"|
|00002980| 20 69 73 20 74 72 75 65 | 20 74 68 65 6e 20 70 75 | is true| then pu|
|00002990| 74 20 22 47 43 2c 43 47 | 2c 22 20 61 66 74 65 72 |t "GC,CG|," after|
|000029a0| 20 6d 61 74 63 68 4c 69 | 73 74 0d 69 66 20 74 68 | matchLi|st.if th|
|000029b0| 65 20 68 69 67 68 6c 69 | 67 68 74 20 6f 66 20 63 |e highli|ght of c|
|000029c0| 61 72 64 20 62 75 74 74 | 6f 6e 20 22 47 a5 55 22 |ard butt|on "G.U"|
|000029d0| 20 69 73 20 74 72 75 65 | 20 74 68 65 6e 20 70 75 | is true| then pu|
|000029e0| 74 20 22 47 55 2c 55 47 | 2c 22 20 61 66 74 65 72 |t "GU,UG|," after|
|000029f0| 20 6d 61 74 63 68 4c 69 | 73 74 0d 69 66 20 74 68 | matchLi|st.if th|
|00002a00| 65 20 68 69 67 68 6c 69 | 67 68 74 20 6f 66 20 63 |e highli|ght of c|
|00002a10| 61 72 64 20 62 75 74 74 | 6f 6e 20 22 41 a5 43 22 |ard butt|on "A.C"|
|00002a20| 20 69 73 20 74 72 75 65 | 20 74 68 65 6e 20 70 75 | is true| then pu|
|00002a30| 74 20 22 41 43 2c 43 41 | 2c 22 20 61 66 74 65 72 |t "AC,CA|," after|
|00002a40| 20 6d 61 74 63 68 4c 69 | 73 74 0d 69 66 20 74 68 | matchLi|st.if th|
|00002a50| 65 20 68 69 67 68 6c 69 | 67 68 74 20 6f 66 20 63 |e highli|ght of c|
|00002a60| 61 72 64 20 62 75 74 74 | 6f 6e 20 22 47 a5 41 22 |ard butt|on "G.A"|
|00002a70| 20 69 73 20 74 72 75 65 | 20 74 68 65 6e 20 70 75 | is true| then pu|
|00002a80| 74 20 22 47 41 2c 41 47 | 2c 22 20 61 66 74 65 72 |t "GA,AG|," after|
|00002a90| 20 6d 61 74 63 68 4c 69 | 73 74 0d 69 66 20 74 68 | matchLi|st.if th|
|00002aa0| 65 20 68 69 67 68 6c 69 | 67 68 74 20 6f 66 20 63 |e highli|ght of c|
|00002ab0| 61 72 64 20 62 75 74 74 | 6f 6e 20 22 55 a5 43 22 |ard butt|on "U.C"|
|00002ac0| 20 69 73 20 74 72 75 65 | 20 74 68 65 6e 20 70 75 | is true| then pu|
|00002ad0| 74 20 22 43 55 2c 55 43 | 2c 22 20 61 66 74 65 72 |t "CU,UC|," after|
|00002ae0| 20 6d 61 74 63 68 4c 69 | 73 74 0d 69 66 20 74 68 | matchLi|st.if th|
|00002af0| 65 20 68 69 67 68 6c 69 | 67 68 74 20 6f 66 20 63 |e highli|ght of c|
|00002b00| 61 72 64 20 62 75 74 74 | 6f 6e 20 22 47 a5 47 22 |ard butt|on "G.G"|
|00002b10| 20 69 73 20 74 72 75 65 | 20 74 68 65 6e 20 70 75 | is true| then pu|
|00002b20| 74 20 22 47 47 2c 22 20 | 61 66 74 65 72 20 6d 61 |t "GG," |after ma|
|00002b30| 74 63 68 4c 69 73 74 0d | 69 66 20 74 68 65 20 68 |tchList.|if the h|
|00002b40| 69 67 68 6c 69 67 68 74 | 20 6f 66 20 63 61 72 64 |ighlight| of card|
|00002b50| 20 62 75 74 74 6f 6e 20 | 22 55 a5 55 22 20 69 73 | button |"U.U" is|
|00002b60| 20 74 72 75 65 20 74 68 | 65 6e 20 70 75 74 20 22 | true th|en put "|
|00002b70| 55 55 2c 22 20 61 66 74 | 65 72 20 6d 61 74 63 68 |UU," aft|er match|
|00002b80| 4c 69 73 74 0d 69 66 20 | 74 68 65 20 68 69 67 68 |List.if |the high|
|00002b90| 6c 69 67 68 74 20 6f 66 | 20 63 61 72 64 20 62 75 |light of| card bu|
|00002ba0| 74 74 6f 6e 20 22 43 a5 | 43 22 20 69 73 20 74 72 |tton "C.|C" is tr|
|00002bb0| 75 65 20 74 68 65 6e 20 | 70 75 74 20 22 43 43 2c |ue then |put "CC,|
|00002bc0| 22 20 61 66 74 65 72 20 | 6d 61 74 63 68 4c 69 73 |" after |matchLis|
|00002bd0| 74 0d 69 66 20 74 68 65 | 20 68 69 67 68 6c 69 67 |t.if the| highlig|
|00002be0| 68 74 20 6f 66 20 63 61 | 72 64 20 62 75 74 74 6f |ht of ca|rd butto|
|00002bf0| 6e 20 22 41 a5 41 22 20 | 69 73 20 74 72 75 65 20 |n "A.A" |is true |
|00002c00| 74 68 65 6e 20 70 75 74 | 20 22 41 41 2c 22 20 61 |then put| "AA," a|
|00002c10| 66 74 65 72 20 6d 61 74 | 63 68 4c 69 73 74 0d 65 |fter mat|chList.e|
|00002c20| 6e 64 20 64 65 66 69 6e | 65 43 68 61 72 73 0d 0d |nd defin|eChars..|
|00002c30| 6f 6e 20 72 65 61 64 46 | 69 6c 65 0d 2d 2d 20 72 |on readF|ile.-- r|
|00002c40| 65 61 64 20 64 69 73 6b | 20 61 6c 69 67 6e 6d 65 |ead disk| alignme|
|00002c50| 6e 74 20 66 69 6c 65 20 | 26 20 70 61 72 73 65 73 |nt file |& parses|
|00002c60| 20 6f 75 74 20 74 68 65 | 20 64 61 74 61 0d 67 6c | out the| data.gl|
|00002c70| 6f 62 61 6c 20 73 65 71 | 73 2c 6e 75 6d 53 65 71 |obal seq|s,numSeq|
|00002c80| 73 2c 73 65 71 4e 61 6d | 65 73 2c 6d 61 73 6b 2c |s,seqNam|es,mask,|
|00002c90| 73 70 65 63 69 65 4e 61 | 6d 65 4c 65 6e 2c 6d 61 |specieNa|meLen,ma|
|00002ca0| 73 6b 4e 61 6d 65 2c 6e | 75 6d 50 6f 73 2c 20 c2 |skName,n|umPos, .|
|00002cb0| 0d 6d 61 73 6b 43 48 2c | 70 6f 73 44 61 74 61 2c |.maskCH,|posData,|
|00002cc0| 70 6f 73 44 61 74 61 4e | 75 6d 73 0d 2d 2d 20 6c |posDataN|ums.-- l|
|00002cd0| 6f 63 61 74 65 20 26 20 | 72 65 61 64 20 74 68 65 |ocate & |read the|
|00002ce0| 20 64 69 73 6b 20 66 69 | 6c 65 0d 61 6e 73 77 65 | disk fi|le.answe|
|00002cf0| 72 20 66 69 6c 65 20 22 | 57 68 61 74 20 61 6c 69 |r file "|What ali|
|00002d00| 67 6e 6d 65 6e 74 20 66 | 69 6c 65 20 64 6f 20 79 |gnment f|ile do y|
|00002d10| 6f 75 20 77 61 6e 74 20 | 74 6f 20 75 73 65 3f 22 |ou want |to use?"|
|00002d20| 20 6f 66 20 74 79 70 65 | 20 74 65 78 74 0d 70 75 | of type| text.pu|
|00002d30| 74 20 69 74 20 69 6e 74 | 6f 20 66 69 6c 65 50 61 |t it int|o filePa|
|00002d40| 74 68 0d 69 66 20 66 69 | 6c 65 50 61 74 68 20 69 |th.if fi|lePath i|
|00002d50| 73 20 65 6d 70 74 79 20 | 74 68 65 6e 0d 70 75 74 |s empty |then.put|
|00002d60| 20 22 27 43 61 6e 63 65 | 6c 27 20 63 68 6f 73 65 | "'Cance|l' chose|
|00002d70| 6e 2e 22 20 69 6e 74 6f | 20 6d 73 67 0d 65 78 69 |n." into| msg.exi|
|00002d80| 74 20 74 6f 20 68 79 70 | 65 72 63 61 72 64 0d 65 |t to hyp|ercard.e|
|00002d90| 6e 64 20 69 66 0d 6f 70 | 65 6e 20 66 69 6c 65 20 |nd if.op|en file |
|00002da0| 66 69 6c 65 50 61 74 68 | 0d 72 65 61 64 20 66 72 |filePath|.read fr|
|00002db0| 6f 6d 20 66 69 6c 65 20 | 66 69 6c 65 50 61 74 68 |om file |filePath|
|00002dc0| 20 66 6f 72 20 31 36 30 | 30 30 0d 70 75 74 20 69 | for 160|00.put i|
|00002dd0| 74 20 69 6e 74 6f 20 72 | 61 77 44 61 74 61 0d 72 |t into r|awData.r|
|00002de0| 65 61 64 20 66 72 6f 6d | 20 66 69 6c 65 20 66 69 |ead from| file fi|
|00002df0| 6c 65 50 61 74 68 20 66 | 6f 72 20 31 36 30 30 30 |lePath f|or 16000|
|00002e00| 0d 70 75 74 20 69 74 20 | 61 66 74 65 72 20 72 61 |.put it |after ra|
|00002e10| 77 44 61 74 61 0d 63 6c | 6f 73 65 20 66 69 6c 65 |wData.cl|ose file|
|00002e20| 20 66 69 6c 65 50 61 74 | 68 0d 2d 2d 20 69 73 20 | filePat|h.-- is |
|00002e30| 74 68 69 73 20 61 6e 20 | 4f 6c 73 65 6e 20 66 69 |this an |Olsen fi|
|00002e40| 6c 65 3f 0d 70 75 74 20 | 74 68 65 20 6c 65 6e 67 |le?.put |the leng|
|00002e50| 74 68 20 6f 66 20 66 69 | 6c 65 50 61 74 68 20 69 |th of fi|lePath i|
|00002e60| 6e 74 6f 20 70 61 74 68 | 4c 65 6e 0d 70 75 74 20 |nto path|Len.put |
|00002e70| 63 68 61 72 20 28 70 61 | 74 68 6c 65 6e 20 2d 20 |char (pa|thlen - |
|00002e80| 33 29 20 74 6f 20 70 61 | 74 68 4c 65 6e 20 6f 66 |3) to pa|thLen of|
|00002e90| 20 66 69 6c 65 50 61 74 | 68 20 69 6e 74 6f 20 74 | filePat|h into t|
|00002ea0| 65 6d 70 0d 69 66 20 74 | 65 6d 70 20 3d 20 22 2e |emp.if t|emp = ".|
|00002eb0| 6c 69 73 22 20 74 68 65 | 6e 20 70 75 74 20 63 6f |lis" the|n put co|
|00002ec0| 6e 76 65 72 74 65 64 4f | 6c 73 65 6e 20 28 72 61 |nvertedO|lsen (ra|
|00002ed0| 77 44 61 74 61 29 20 69 | 6e 74 6f 20 72 61 77 44 |wData) i|nto rawD|
|00002ee0| 61 74 61 0d 2d 2d 20 46 | 69 6c 65 20 4f 4b 3f 0d |ata.-- F|ile OK?.|
|00002ef0| 69 66 20 72 61 77 44 61 | 74 61 20 69 73 20 65 6d |if rawDa|ta is em|
|00002f00| 70 74 79 20 74 68 65 6e | 0d 62 65 65 70 0d 62 65 |pty then|.beep.be|
|00002f10| 65 70 0d 70 75 74 20 22 | 49 6e 76 61 6c 69 64 20 |ep.put "|Invalid |
|00002f20| 66 69 6c 65 21 22 20 69 | 6e 74 6f 20 6d 73 67 0d |file!" i|nto msg.|
|00002f30| 65 78 69 74 20 74 6f 20 | 68 79 70 65 72 63 61 72 |exit to |hypercar|
|00002f40| 64 0d 65 6e 64 20 69 66 | 0d 2d 2d 20 70 61 72 73 |d.end if|.-- pars|
|00002f50| 65 20 6f 75 74 20 74 68 | 65 20 64 61 74 61 20 26 |e out th|e data &|
|00002f60| 20 6c 6f 6f 6b 20 66 6f | 72 20 61 20 6d 61 73 6b | look fo|r a mask|
|00002f70| 0d 70 75 74 20 22 44 69 | 76 69 64 69 6e 67 20 75 |.put "Di|viding u|
|00002f80| 70 20 64 61 74 61 2e 2e | 2e 2e 22 20 69 6e 74 6f |p data..|.." into|
|00002f90| 20 6d 73 67 0d 70 75 74 | 20 65 6d 70 74 79 20 69 | msg.put| empty i|
|00002fa0| 6e 74 6f 20 73 65 71 4e | 61 6d 65 73 0d 70 75 74 |nto seqN|ames.put|
|00002fb0| 20 65 6d 70 74 79 20 69 | 6e 74 6f 20 73 65 71 73 | empty i|nto seqs|
|00002fc0| 0d 70 75 74 20 65 6d 70 | 74 79 20 69 6e 74 6f 20 |.put emp|ty into |
|00002fd0| 6d 61 73 6b 0d 70 75 74 | 20 7a 65 72 6f 20 69 6e |mask.put| zero in|
|00002fe0| 74 6f 20 6e 75 6d 53 65 | 71 73 0d 70 75 74 20 65 |to numSe|qs.put e|
|00002ff0| 6d 70 74 79 20 69 6e 74 | 6f 20 70 6f 73 44 61 74 |mpty int|o posDat|
|00003000| 61 0d 70 75 74 20 65 6d | 70 74 79 20 69 6e 74 6f |a.put em|pty into|
|00003010| 20 70 6f 73 44 61 74 61 | 4e 75 6d 73 0d 72 65 70 | posData|Nums.rep|
|00003020| 65 61 74 20 77 69 74 68 | 20 69 6e 64 65 78 20 3d |eat with| index =|
|00003030| 20 31 20 74 6f 20 6e 75 | 6d 62 65 72 20 6f 66 20 | 1 to nu|mber of |
|00003040| 6c 69 6e 65 73 20 69 6e | 20 72 61 77 44 61 74 61 |lines in| rawData|
|00003050| 0d 73 65 74 20 74 68 65 | 20 63 75 72 73 6f 72 20 |.set the| cursor |
|00003060| 74 6f 20 62 75 73 79 0d | 70 75 74 20 77 6f 72 64 |to busy.|put word|
|00003070| 20 31 20 6f 66 20 6c 69 | 6e 65 20 69 6e 64 65 78 | 1 of li|ne index|
|00003080| 20 6f 66 20 72 61 77 44 | 61 74 61 20 69 6e 74 6f | of rawD|ata into|
|00003090| 20 73 70 65 63 69 65 0d | 69 66 20 74 68 65 20 6c | specie.|if the l|
|000030a0| 65 6e 67 74 68 20 6f 66 | 20 73 70 65 63 69 65 20 |ength of| specie |
|000030b0| 3d 20 73 70 65 63 69 65 | 4e 61 6d 65 4c 65 6e 20 |= specie|NameLen |
|000030c0| 74 68 65 6e 0d 72 65 70 | 65 61 74 20 73 70 65 63 |then.rep|eat spec|
|000030d0| 69 65 4e 61 6d 65 4c 65 | 6e 20 2b 20 31 20 74 69 |ieNameLe|n + 1 ti|
|000030e0| 6d 65 73 0d 64 65 6c 65 | 74 65 20 63 68 61 72 20 |mes.dele|te char |
|000030f0| 31 20 6f 66 20 6c 69 6e | 65 20 69 6e 64 65 78 20 |1 of lin|e index |
|00003100| 6f 66 20 72 61 77 44 61 | 74 61 0d 65 6e 64 20 72 |of rawDa|ta.end r|
|00003110| 65 70 65 61 74 0d 69 66 | 20 73 70 65 63 69 65 20 |epeat.if| specie |
|00003120| 3d 20 6d 61 73 6b 4e 61 | 6d 65 20 74 68 65 6e 0d |= maskNa|me then.|
|00003130| 70 75 74 20 6c 69 6e 65 | 20 69 6e 64 65 78 20 6f |put line| index o|
|00003140| 66 20 72 61 77 44 61 74 | 61 20 69 6e 74 6f 20 6d |f rawDat|a into m|
|00003150| 61 73 6b 0d 65 6c 73 65 | 0d 61 64 64 20 31 20 74 |ask.else|.add 1 t|
|00003160| 6f 20 6e 75 6d 53 65 71 | 73 0d 70 75 74 20 73 70 |o numSeq|s.put sp|
|00003170| 65 63 69 65 20 26 20 22 | 2c 22 20 61 66 74 65 72 |ecie & "|," after|
|00003180| 20 73 65 71 4e 61 6d 65 | 73 0d 70 75 74 20 6c 69 | seqName|s.put li|
|00003190| 6e 65 20 69 6e 64 65 78 | 20 6f 66 20 72 61 77 44 |ne index| of rawD|
|000031a0| 61 74 61 20 26 20 22 2c | 22 20 61 66 74 65 72 20 |ata & ",|" after |
|000031b0| 73 65 71 73 0d 65 6e 64 | 20 69 66 0d 65 6e 64 20 |seqs.end| if.end |
|000031c0| 69 66 0d 65 6e 64 20 72 | 65 70 65 61 74 0d 64 65 |if.end r|epeat.de|
|000031d0| 6c 65 74 65 20 6c 61 73 | 74 20 63 68 61 72 20 6f |lete las|t char o|
|000031e0| 66 20 73 65 71 73 0d 64 | 65 6c 65 74 65 20 6c 61 |f seqs.d|elete la|
|000031f0| 73 74 20 63 68 61 72 20 | 6f 66 20 73 65 71 4e 61 |st char |of seqNa|
|00003200| 6d 65 73 0d 70 75 74 20 | 74 68 65 20 6c 65 6e 67 |mes.put |the leng|
|00003210| 74 68 20 6f 66 20 69 74 | 65 6d 20 31 20 6f 66 20 |th of it|em 1 of |
|00003220| 73 65 71 73 20 69 6e 74 | 6f 20 6e 75 6d 50 6f 73 |seqs int|o numPos|
|00003230| 0d 2d 2d 20 67 65 6e 65 | 72 61 74 65 20 6d 61 73 |.-- gene|rate mas|
|00003240| 6b 20 69 66 20 72 65 71 | 75 69 72 65 64 0d 69 66 |k if req|uired.if|
|00003250| 20 6d 61 73 6b 20 69 73 | 20 65 6d 70 74 79 20 74 | mask is| empty t|
|00003260| 68 65 6e 0d 70 75 74 20 | 22 4e 6f 20 6d 61 73 6b |hen.put |"No mask|
|00003270| 20 66 6f 75 6e 64 20 2d | 20 70 72 65 70 61 72 69 | found -| prepari|
|00003280| 6e 67 20 74 6f 20 75 73 | 65 20 61 6c 6c 20 70 6f |ng to us|e all po|
|00003290| 73 69 74 69 6f 6e 73 2e | 22 20 69 6e 74 6f 20 6d |sitions.|" into m|
|000032a0| 73 67 0d 72 65 70 65 61 | 74 20 66 6f 72 20 28 74 |sg.repea|t for (t|
|000032b0| 68 65 20 6c 65 6e 67 74 | 68 20 6f 66 20 69 74 65 |he lengt|h of ite|
|000032c0| 6d 20 31 20 6f 66 20 73 | 65 71 73 29 20 74 69 6d |m 1 of s|eqs) tim|
|000032d0| 65 73 0d 73 65 74 20 74 | 68 65 20 63 75 72 73 6f |es.set t|he curso|
|000032e0| 72 20 74 6f 20 62 75 73 | 79 0d 70 75 74 20 6d 61 |r to bus|y.put ma|
|000032f0| 73 6b 43 48 20 61 66 74 | 65 72 20 6d 61 73 6b 0d |skCH aft|er mask.|
|00003300| 65 6e 64 20 72 65 70 65 | 61 74 0d 65 6e 64 20 69 |end repe|at.end i|
|00003310| 66 0d 72 65 70 65 61 74 | 20 75 6e 74 69 6c 20 74 |f.repeat| until t|
|00003320| 68 65 20 6c 65 6e 67 74 | 68 20 6f 66 20 6d 61 73 |he lengt|h of mas|
|00003330| 6b 20 b3 20 6e 75 6d 50 | 6f 73 0d 70 75 74 20 22 |k . numP|os.put "|
|00003340| 20 22 20 61 66 74 65 72 | 20 6d 61 73 6b 0d 65 6e | " after| mask.en|
|00003350| 64 20 72 65 70 65 61 74 | 0d 2d 2d 20 75 70 64 61 |d repeat|.-- upda|
|00003360| 74 65 20 22 63 75 72 72 | 65 6e 74 20 66 69 6c 65 |te "curr|ent file|
|00003370| 22 0d 70 75 74 20 74 68 | 65 20 6c 65 6e 67 74 68 |".put th|e length|
|00003380| 20 6f 66 20 66 69 6c 65 | 50 61 74 68 20 69 6e 74 | of file|Path int|
|00003390| 6f 20 74 65 6d 70 0d 69 | 66 20 74 65 6d 70 20 3c |o temp.i|f temp <|
|000033a0| 20 34 30 20 74 68 65 6e | 20 70 75 74 20 66 69 6c | 40 then| put fil|
|000033b0| 65 50 61 74 68 20 69 6e | 74 6f 20 63 61 72 64 20 |ePath in|to card |
|000033c0| 66 69 65 6c 64 20 22 74 | 68 65 46 69 6c 65 22 0d |field "t|heFile".|
|000033d0| 65 6c 73 65 20 70 75 74 | 20 22 2e 2e 2e 22 20 26 |else put| "..." &|
|000033e0| 20 63 68 61 72 20 28 74 | 65 6d 70 20 2d 20 34 30 | char (t|emp - 40|
|000033f0| 29 20 74 6f 20 74 65 6d | 70 20 6f 66 20 66 69 6c |) to tem|p of fil|
|00003400| 65 50 61 74 68 20 69 6e | 74 6f 20 63 61 72 64 20 |ePath in|to card |
|00003410| 66 69 65 6c 64 20 22 74 | 68 65 46 69 6c 65 22 0d |field "t|heFile".|
|00003420| 70 75 74 20 22 44 61 74 | 61 20 6c 6f 61 64 65 64 |put "Dat|a loaded|
|00003430| 20 2d 20 74 68 61 6e 6b | 73 20 66 6f 72 20 77 61 | - thank|s for wa|
|00003440| 69 74 69 6e 67 2e 22 20 | 69 6e 74 6f 20 6d 73 67 |iting." |into msg|
|00003450| 0d 65 6e 64 20 72 65 61 | 64 46 69 6c 65 0d 0d 66 |.end rea|dFile..f|
|00003460| 75 6e 63 74 69 6f 6e 20 | 63 6f 6e 76 65 72 74 65 |unction |converte|
|00003470| 64 4f 6c 73 65 6e 20 72 | 61 77 44 61 74 61 0d 2d |dOlsen r|awData.-|
|00003480| 2d 20 63 6f 6e 76 65 72 | 74 20 66 72 6f 6d 20 4f |- conver|t from O|
|00003490| 6c 73 65 6e 20 66 6f 72 | 6d 61 74 20 74 6f 20 63 |lsen for|mat to c|
|000034a0| 6f 76 61 72 69 61 74 69 | 6f 6e 20 66 6f 72 6d 61 |ovariati|on forma|
|000034b0| 74 0d 73 65 74 20 74 68 | 65 20 63 75 72 73 6f 72 |t.set th|e cursor|
|000034c0| 20 74 6f 20 62 75 73 79 | 0d 70 75 74 20 22 43 6f | to busy|.put "Co|
|000034d0| 6e 76 65 72 74 69 6e 67 | 20 4f 6c 73 65 6e 2d 66 |nverting| Olsen-f|
|000034e0| 6f 72 6d 61 74 20 66 69 | 6c 65 2e 2e 2e 22 0d 72 |ormat fi|le...".r|
|000034f0| 65 70 65 61 74 20 75 6e | 74 69 6c 20 6c 69 6e 65 |epeat un|til line|
|00003500| 20 31 20 6f 66 20 72 61 | 77 44 61 74 61 20 3d 20 | 1 of ra|wData = |
|00003510| 22 74 69 6f 6e 3a 20 20 | 20 69 64 65 6e 74 69 74 |"tion: | identit|
|00003520| 79 3a 20 20 20 44 61 74 | 61 3a 22 0d 64 65 6c 65 |y: Dat|a:".dele|
|00003530| 74 65 20 6c 69 6e 65 20 | 31 20 6f 66 20 72 61 77 |te line |1 of raw|
|00003540| 44 61 74 61 0d 65 6e 64 | 20 72 65 70 65 61 74 0d |Data.end| repeat.|
|00003550| 64 65 6c 65 74 65 20 6c | 69 6e 65 20 31 20 6f 66 |delete l|ine 1 of|
|00003560| 20 72 61 77 44 61 74 61 | 0d 64 65 6c 65 74 65 20 | rawData|.delete |
|00003570| 6c 69 6e 65 20 31 20 6f | 66 20 72 61 77 44 61 74 |line 1 o|f rawDat|
|00003580| 61 0d 72 65 70 65 61 74 | 20 77 69 74 68 20 69 20 |a.repeat| with i |
|00003590| 3d 20 31 20 74 6f 20 74 | 68 65 20 6e 75 6d 62 65 |= 1 to t|he numbe|
|000035a0| 72 20 6f 66 20 6c 69 6e | 65 73 20 69 6e 20 72 61 |r of lin|es in ra|
|000035b0| 77 44 61 74 61 0d 73 65 | 74 20 74 68 65 20 63 75 |wData.se|t the cu|
|000035c0| 72 73 6f 72 20 74 6f 20 | 62 75 73 79 0d 70 75 74 |rsor to |busy.put|
|000035d0| 20 22 43 6f 6e 76 65 72 | 74 69 6e 67 20 4f 6c 73 | "Conver|ting Ols|
|000035e0| 65 6e 2d 66 6f 72 6d 61 | 74 20 66 69 6c 65 2e 2e |en-forma|t file..|
|000035f0| 2e 53 65 71 75 65 6e 63 | 65 20 23 22 20 26 20 69 |.Sequenc|e #" & i|
|00003600| 20 69 6e 74 6f 20 6d 73 | 67 0d 64 65 6c 65 74 65 | into ms|g.delete|
|00003610| 20 63 68 61 72 20 31 20 | 74 6f 20 31 30 20 6f 66 | char 1 |to 10 of|
|00003620| 20 6c 69 6e 65 20 69 20 | 6f 66 20 72 61 77 44 61 | line i |of rawDa|
|00003630| 74 61 0d 70 75 74 20 65 | 6d 70 74 79 20 69 6e 74 |ta.put e|mpty int|
|00003640| 6f 20 74 65 6d 70 4e 61 | 6d 65 0d 72 65 70 65 61 |o tempNa|me.repea|
|00003650| 74 20 39 20 74 69 6d 65 | 73 0d 69 66 20 63 68 61 |t 9 time|s.if cha|
|00003660| 72 20 31 20 6f 66 20 6c | 69 6e 65 20 69 20 6f 66 |r 1 of l|ine i of|
|00003670| 20 72 61 77 44 61 74 61 | 20 69 73 20 69 6e 20 22 | rawData| is in "|
|00003680| 61 62 63 64 65 66 67 68 | 69 6a 6b 6c 6d 6e 6f 70 |abcdefgh|ijklmnop|
|00003690| 71 72 73 74 75 76 77 78 | 79 7a 31 32 33 34 35 36 |qrstuvwx|yz123456|
|000036a0| 37 38 39 30 20 22 20 74 | 68 65 6e 0d 70 75 74 20 |7890 " t|hen.put |
|000036b0| 63 68 61 72 20 31 20 6f | 66 20 6c 69 6e 65 20 69 |char 1 o|f line i|
|000036c0| 20 6f 66 20 72 61 77 44 | 61 74 61 20 61 66 74 65 | of rawD|ata afte|
|000036d0| 72 20 74 65 6d 70 4e 61 | 6d 65 0d 65 6e 64 20 69 |r tempNa|me.end i|
|000036e0| 66 0d 64 65 6c 65 74 65 | 20 63 68 61 72 20 31 20 |f.delete| char 1 |
|000036f0| 6f 66 20 6c 69 6e 65 20 | 69 20 6f 66 20 72 61 77 |of line |i of raw|
|00003700| 44 61 74 61 0d 65 6e 64 | 20 72 65 70 65 61 74 0d |Data.end| repeat.|
|00003710| 69 66 20 22 6d 61 73 6b | 22 20 69 73 20 69 6e 20 |if "mask|" is in |
|00003720| 74 65 6d 70 6e 61 6d 65 | 20 74 68 65 6e 20 70 75 |tempname| then pu|
|00003730| 74 20 22 6d 73 6b 22 20 | 69 6e 74 6f 20 74 65 6d |t "msk" |into tem|
|00003740| 70 6e 61 6d 65 0d 70 75 | 74 20 63 68 61 72 20 31 |pname.pu|t char 1|
|00003750| 20 74 6f 20 33 20 6f 66 | 20 74 65 6d 70 4e 61 6d | to 3 of| tempNam|
|00003760| 65 20 62 65 66 6f 72 65 | 20 6c 69 6e 65 20 69 20 |e before| line i |
|00003770| 6f 66 20 72 61 77 44 61 | 74 61 0d 72 65 70 65 61 |of rawDa|ta.repea|
|00003780| 74 20 75 6e 74 69 6c 20 | 74 68 65 20 6c 61 73 74 |t until |the last|
|00003790| 20 63 68 61 72 20 6f 66 | 20 6c 69 6e 65 20 69 20 | char of| line i |
|000037a0| 6f 66 20 72 61 77 44 61 | 74 61 20 ad 20 73 70 61 |of rawDa|ta . spa|
|000037b0| 63 65 0d 64 65 6c 65 74 | 65 20 74 68 65 20 6c 61 |ce.delet|e the la|
|000037c0| 73 74 20 63 68 61 72 20 | 6f 66 20 6c 69 6e 65 20 |st char |of line |
|000037d0| 69 20 6f 66 20 72 61 77 | 44 61 74 61 0d 65 6e 64 |i of raw|Data.end|
|000037e0| 20 72 65 70 65 61 74 0d | 72 65 70 65 61 74 0d 70 | repeat.|repeat.p|
|000037f0| 75 74 20 74 68 65 20 6c | 61 73 74 20 77 6f 72 64 |ut the l|ast word|
|00003800| 20 6f 66 20 6c 69 6e 65 | 20 69 20 6f 66 20 72 61 | of line| i of ra|
|00003810| 77 44 61 74 61 20 69 6e | 74 6f 20 72 61 77 45 6e |wData in|to rawEn|
|00003820| 64 0d 69 66 20 74 68 65 | 20 6c 61 73 74 20 63 68 |d.if the| last ch|
|00003830| 61 72 20 6f 66 20 6c 69 | 6e 65 20 69 20 6f 66 20 |ar of li|ne i of |
|00003840| 72 61 77 44 61 74 61 20 | 3d 20 73 70 61 63 65 20 |rawData |= space |
|00003850| 74 68 65 6e 0d 64 65 6c | 65 74 65 20 74 68 65 20 |then.del|ete the |
|00003860| 6c 61 73 74 20 63 68 61 | 72 20 6f 66 20 6c 69 6e |last cha|r of lin|
|00003870| 65 20 69 20 6f 66 20 72 | 61 77 44 61 74 61 0d 69 |e i of r|awData.i|
|00003880| 66 20 74 68 65 20 6c 61 | 73 74 20 63 68 61 72 20 |f the la|st char |
|00003890| 6f 66 20 6c 69 6e 65 20 | 69 20 6f 66 20 72 61 77 |of line |i of raw|
|000038a0| 44 61 74 61 20 3d 20 73 | 70 61 63 65 20 74 68 65 |Data = s|pace the|
|000038b0| 6e 0d 64 65 6c 65 74 65 | 20 74 68 65 20 6c 61 73 |n.delete| the las|
|000038c0| 74 20 63 68 61 72 20 6f | 66 20 6c 69 6e 65 20 69 |t char o|f line i|
|000038d0| 20 6f 66 20 72 61 77 44 | 61 74 61 0d 65 78 69 74 | of rawD|ata.exit|
|000038e0| 20 72 65 70 65 61 74 0d | 65 6e 64 20 69 66 0d 65 | repeat.|end if.e|
|000038f0| 6c 73 65 0d 64 65 6c 65 | 74 65 20 74 68 65 20 6c |lse.dele|te the l|
|00003900| 61 73 74 20 63 68 61 72 | 20 6f 66 20 6c 69 6e 65 |ast char| of line|
|00003910| 20 69 20 6f 66 20 72 61 | 77 44 61 74 61 0d 65 6e | i of ra|wData.en|
|00003920| 64 20 69 66 0d 65 6e 64 | 20 72 65 70 65 61 74 0d |d if.end| repeat.|
|00003930| 65 6e 64 20 72 65 70 65 | 61 74 0d 70 75 74 20 72 |end repe|at.put r|
|00003940| 61 77 44 61 74 61 20 69 | 6e 74 6f 20 63 6f 6e 76 |awData i|nto conv|
|00003950| 65 72 74 65 64 4f 6c 73 | 65 6e 0d 72 65 74 75 72 |ertedOls|en.retur|
|00003960| 6e 20 63 6f 6e 76 65 72 | 74 65 64 4f 6c 73 65 6e |n conver|tedOlsen|
|00003970| 0d 65 6e 64 20 63 6f 6e | 76 65 72 74 65 64 4f 6c |.end con|vertedOl|
|00003980| 73 65 6e 0d 0d 6f 6e 20 | 67 65 74 50 6f 73 44 61 |sen..on |getPosDa|
|00003990| 74 61 0d 2d 2d 20 63 6f | 6c 6c 65 63 74 20 74 68 |ta.-- co|llect th|
|000039a0| 65 20 6e 75 63 6c 65 6f | 74 69 64 65 73 20 61 74 |e nucleo|tides at|
|000039b0| 20 65 61 63 68 20 70 6f | 73 69 74 69 6f 6e 20 69 | each po|sition i|
|000039c0| 6e 74 6f 20 61 72 72 61 | 79 20 70 6f 73 44 61 74 |nto arra|y posDat|
|000039d0| 61 0d 67 6c 6f 62 61 6c | 20 70 6f 73 44 61 74 61 |a.global| posData|
|000039e0| 2c 73 65 71 73 2c 6e 75 | 6d 53 65 71 73 2c 6d 61 |,seqs,nu|mSeqs,ma|
|000039f0| 73 6b 2c 6e 75 6d 50 6f | 73 0d 70 75 74 20 65 6d |sk,numPo|s.put em|
|00003a00| 70 74 79 20 69 6e 74 6f | 20 70 6f 73 44 61 74 61 |pty into| posData|
|00003a10| 0d 72 65 70 65 61 74 20 | 77 69 74 68 20 69 6e 64 |.repeat |with ind|
|00003a20| 65 78 20 3d 20 31 20 74 | 6f 20 6e 75 6d 50 6f 73 |ex = 1 t|o numPos|
|00003a30| 0d 73 65 74 20 74 68 65 | 20 63 75 72 73 6f 72 20 |.set the| cursor |
|00003a40| 74 6f 20 62 75 73 79 0d | 72 65 70 65 61 74 20 77 |to busy.|repeat w|
|00003a50| 69 74 68 20 69 6e 64 65 | 78 32 20 3d 20 31 20 74 |ith inde|x2 = 1 t|
|00003a60| 6f 20 6e 75 6d 53 65 71 | 73 0d 70 75 74 20 63 68 |o numSeq|s.put ch|
|00003a70| 61 72 20 69 6e 64 65 78 | 20 6f 66 20 69 74 65 6d |ar index| of item|
|00003a80| 20 69 6e 64 65 78 32 20 | 6f 66 20 73 65 71 73 20 | index2 |of seqs |
|00003a90| 61 66 74 65 72 20 70 6f | 73 44 61 74 61 0d 65 6e |after po|sData.en|
|00003aa0| 64 20 72 65 70 65 61 74 | 0d 69 66 20 69 6e 64 65 |d repeat|.if inde|
|00003ab0| 78 20 3c 3e 20 6e 75 6d | 50 6f 73 20 74 68 65 6e |x <> num|Pos then|
|00003ac0| 20 70 75 74 20 22 2c 22 | 20 61 66 74 65 72 20 70 | put ","| after p|
|00003ad0| 6f 73 44 61 74 61 0d 70 | 75 74 20 22 43 6f 6d 70 |osData.p|ut "Comp|
|00003ae0| 69 6c 69 6e 67 20 70 6f | 73 69 74 69 6f 6e 2f 73 |iling po|sition/s|
|00003af0| 65 71 75 65 6e 63 65 20 | 64 61 74 61 2e 2e 2e 2e |equence |data....|
|00003b00| 22 20 26 20 69 6e 64 65 | 78 20 69 6e 74 6f 20 6d |" & inde|x into m|
|00003b10| 73 67 0d 65 6e 64 20 72 | 65 70 65 61 74 0d 70 75 |sg.end r|epeat.pu|
|00003b20| 74 20 65 6d 70 74 79 20 | 69 6e 74 6f 20 6d 73 67 |t empty |into msg|
|00003b30| 0d 65 6e 64 20 67 65 74 | 50 6f 73 44 61 74 61 0d |.end get|PosData.|
|00003b40| 0d 66 75 6e 63 74 69 6f | 6e 20 68 65 61 64 65 72 |.functio|n header|
|00003b50| 53 74 75 66 66 20 64 6f | 69 6e 67 42 50 61 6e 61 |Stuff do|ingBPana|
|00003b60| 6c 79 73 69 73 2c 74 68 | 65 46 69 6c 65 0d 2d 2d |lysis,th|eFile.--|
|00003b70| 20 67 65 6e 65 72 61 74 | 65 20 74 68 65 20 6e 6f | generat|e the no|
|00003b80| 6e 2d 64 61 74 61 20 22 | 68 65 61 64 65 72 22 20 |n-data "|header" |
|00003b90| 6f 66 20 74 68 65 20 6f | 75 74 70 75 74 0d 2d 2d |of the o|utput.--|
|00003ba0| 20 69 6e 63 6c 75 64 69 | 6e 67 20 74 68 65 20 74 | includi|ng the t|
|00003bb0| 69 74 6c 65 2c 20 70 61 | 72 61 6d 73 2c 20 61 6c |itle, pa|rams, al|
|00003bc0| 69 67 6e 6d 65 6e 74 20 | 26 20 6e 75 6d 62 65 72 |ignment |& number|
|00003bd0| 69 6e 67 73 0d 67 6c 6f | 62 61 6c 20 6e 75 6d 73 |ings.glo|bal nums|
|00003be0| 65 71 73 2c 6e 75 6d 50 | 6f 73 2c 6d 61 74 63 68 |eqs,numP|os,match|
|00003bf0| 4c 69 73 74 2c 73 65 71 | 73 2c 73 65 71 4e 61 6d |List,seq|s,seqNam|
|00003c00| 65 73 2c 61 6c 6c 4d 61 | 74 63 68 65 73 43 48 2c |es,allMa|tchesCH,|
|00003c10| 20 c2 0d 61 6c 6c 42 75 | 74 4f 6e 65 43 48 2c 4e | ..allBu|tOneCH,N|
|00003c20| 6f 4d 61 74 63 68 43 48 | 2c 73 70 61 63 65 72 43 |oMatchCH|,spacerC|
|00003c30| 48 2c 69 6e 76 61 72 69 | 61 6e 74 43 48 2c 6d 61 |H,invari|antCH,ma|
|00003c40| 73 6b 2c 6d 61 73 6b 4e | 61 6d 65 0d 70 75 74 20 |sk,maskN|ame.put |
|00003c50| 22 43 72 65 61 74 69 6e | 67 20 68 65 61 64 65 72 |"Creatin|g header|
|00003c60| 2e 2e 2e 2e 22 20 69 6e | 74 6f 20 6d 73 67 0d 73 |...." in|to msg.s|
|00003c70| 65 74 20 74 68 65 20 63 | 75 72 73 6f 72 20 74 6f |et the c|ursor to|
|00003c80| 20 62 75 73 79 0d 2d 2d | 20 74 69 74 6c 65 20 73 | busy.--| title s|
|00003c90| 74 75 66 66 2c 20 26 20 | 61 6c 6c 6f 77 65 64 20 |tuff, & |allowed |
|00003ca0| 70 61 69 72 69 6e 67 73 | 20 69 66 20 72 65 71 75 |pairings| if requ|
|00003cb0| 69 72 65 64 0d 69 66 20 | 64 6f 69 6e 67 42 50 61 |ired.if |doingBPa|
|00003cc0| 6e 61 6c 79 73 69 73 20 | 74 68 65 6e 0d 70 75 74 |nalysis |then.put|
|00003cd0| 20 22 43 61 6e 6f 6e 69 | 63 61 6c 20 42 61 73 65 | "Canoni|cal Base|
|00003ce0| 2d 70 61 69 72 69 6e 67 | 20 43 6f 76 61 72 69 61 |-pairing| Covaria|
|00003cf0| 74 69 6f 6e 20 41 6e 61 | 6c 79 73 69 73 20 2d 20 |tion Ana|lysis - |
|00003d00| 22 20 26 20 74 68 65 20 | 64 61 74 65 20 26 20 72 |" & the |date & r|
|00003d10| 65 74 75 72 6e 20 26 20 | 72 65 74 75 72 6e 20 69 |eturn & |return i|
|00003d20| 6e 74 6f 20 68 65 61 64 | 65 72 0d 70 75 74 20 22 |nto head|er.put "|
|00003d30| 46 49 4c 45 20 3a 20 22 | 20 26 20 74 68 65 46 69 |FILE : "| & theFi|
|00003d40| 6c 65 20 26 20 72 65 74 | 75 72 6e 20 26 20 72 65 |le & ret|urn & re|
|00003d50| 74 75 72 6e 20 61 66 74 | 65 72 20 68 65 61 64 65 |turn aft|er heade|
|00003d60| 72 0d 70 75 74 20 22 54 | 79 70 65 73 20 6f 66 20 |r.put "T|ypes of |
|00003d70| 62 61 73 65 2d 70 61 69 | 72 69 6e 67 20 61 6c 6c |base-pai|ring all|
|00003d80| 6f 77 65 64 3a 22 20 26 | 20 72 65 74 75 72 6e 20 |owed:" &| return |
|00003d90| 61 66 74 65 72 20 68 65 | 61 64 65 72 0d 72 65 70 |after he|ader.rep|
|00003da0| 65 61 74 20 77 69 74 68 | 20 69 6e 64 65 78 20 3d |eat with| index =|
|00003db0| 20 31 20 74 6f 20 74 68 | 65 20 6e 75 6d 62 65 72 | 1 to th|e number|
|00003dc0| 20 6f 66 20 69 74 65 6d | 73 20 69 6e 20 6d 61 74 | of item|s in mat|
|00003dd0| 63 68 4c 69 73 74 0d 73 | 65 74 20 74 68 65 20 63 |chList.s|et the c|
|00003de0| 75 72 73 6f 72 20 74 6f | 20 62 75 73 79 0d 70 75 |ursor to| busy.pu|
|00003df0| 74 20 63 68 61 72 20 31 | 20 6f 66 20 69 74 65 6d |t char 1| of item|
|00003e00| 20 69 6e 64 65 78 20 6f | 66 20 6d 61 74 63 68 6c | index o|f matchl|
|00003e10| 69 73 74 20 69 6e 74 6f | 20 42 50 0d 70 75 74 20 |ist into| BP.put |
|00003e20| 22 3d 22 20 26 20 63 68 | 61 72 20 32 20 6f 66 20 |"=" & ch|ar 2 of |
|00003e30| 69 74 65 6d 20 69 6e 64 | 65 78 20 6f 66 20 6d 61 |item ind|ex of ma|
|00003e40| 74 63 68 4c 69 73 74 20 | 61 66 74 65 72 20 42 50 |tchList |after BP|
|00003e50| 0d 70 75 74 20 22 20 20 | 22 20 26 20 42 50 20 61 |.put " |" & BP a|
|00003e60| 66 74 65 72 20 68 65 61 | 64 65 72 0d 65 6e 64 20 |fter hea|der.end |
|00003e70| 72 65 70 65 61 74 0d 70 | 75 74 20 72 65 74 75 72 |repeat.p|ut retur|
|00003e80| 6e 20 26 20 72 65 74 75 | 72 6e 20 61 66 74 65 72 |n & retu|rn after|
|00003e90| 20 68 65 61 64 65 72 0d | 65 6c 73 65 0d 70 75 74 | header.|else.put|
|00003ea0| 20 22 53 74 72 69 63 74 | 20 43 6f 76 61 72 69 61 | "Strict| Covaria|
|00003eb0| 74 69 6f 6e 20 41 6e 61 | 6c 79 73 69 73 20 2d 20 |tion Ana|lysis - |
|00003ec0| 22 20 26 20 74 68 65 20 | 64 61 74 65 20 26 20 72 |" & the |date & r|
|00003ed0| 65 74 75 72 6e 20 26 20 | 72 65 74 75 72 6e 20 69 |eturn & |return i|
|00003ee0| 6e 74 6f 20 68 65 61 64 | 65 72 0d 70 75 74 20 22 |nto head|er.put "|
|00003ef0| 46 49 4c 45 20 3a 20 22 | 20 26 20 74 68 65 46 69 |FILE : "| & theFi|
|00003f00| 6c 65 20 26 20 72 65 74 | 75 72 6e 20 26 20 72 65 |le & ret|urn & re|
|00003f10| 74 75 72 6e 20 61 66 74 | 65 72 20 68 65 61 64 65 |turn aft|er heade|
|00003f20| 72 0d 65 6e 64 20 69 66 | 0d 2d 2d 20 6d 61 74 63 |r.end if|.-- matc|
|00003f30| 68 20 74 79 70 65 73 0d | 70 75 74 20 22 31 30 30 |h types.|put "100|
|00003f40| 25 20 6d 61 74 63 68 20 | 3a 20 22 20 26 20 61 6c |% match |: " & al|
|00003f50| 6c 4d 61 74 63 68 65 73 | 43 48 20 26 20 72 65 74 |lMatches|CH & ret|
|00003f60| 75 72 6e 20 61 66 74 65 | 72 20 68 65 61 64 65 72 |urn afte|r header|
|00003f70| 0d 70 75 74 20 22 41 6c | 6c 20 62 75 74 20 31 20 |.put "Al|l but 1 |
|00003f80| 6d 61 74 63 68 20 3a 20 | 22 20 26 20 61 6c 6c 42 |match : |" & allB|
|00003f90| 75 74 4f 6e 65 43 48 20 | 26 20 72 65 74 75 72 6e |utOneCH |& return|
|00003fa0| 20 61 66 74 65 72 20 68 | 65 61 64 65 72 0d 70 75 | after h|eader.pu|
|00003fb0| 74 20 22 4e 6f 20 6d 61 | 74 63 68 20 3a 20 22 20 |t "No ma|tch : " |
|00003fc0| 26 20 4e 6f 4d 61 74 63 | 68 43 48 20 26 20 72 65 |& NoMatc|hCH & re|
|00003fd0| 74 75 72 6e 20 61 66 74 | 65 72 20 68 65 61 64 65 |turn aft|er heade|
|00003fe0| 72 0d 70 75 74 20 22 4e | 6f 74 20 63 6f 6d 70 61 |r.put "N|ot compa|
|00003ff0| 72 65 64 20 3a 20 22 20 | 26 20 73 70 61 63 65 72 |red : " |& spacer|
|00004000| 43 48 20 26 20 72 65 74 | 75 72 6e 20 61 66 74 65 |CH & ret|urn afte|
|00004010| 72 20 68 65 61 64 65 72 | 0d 70 75 74 20 22 31 30 |r header|.put "10|
|00004020| 30 25 20 6d 61 74 63 68 | 2c 20 62 75 74 20 6e 6f |0% match|, but no|
|00004030| 20 76 61 72 69 61 74 69 | 6f 6e 20 3a 20 22 20 26 | variati|on : " &|
|00004040| 20 69 6e 76 61 72 69 61 | 6e 74 43 48 20 c2 0d 26 | invaria|ntCH ..&|
|00004050| 20 72 65 74 75 72 6e 20 | 26 20 72 65 74 75 72 6e | return |& return|
|00004060| 20 61 66 74 65 72 20 68 | 65 61 64 65 72 0d 2d 2d | after h|eader.--|
|00004070| 20 74 68 65 20 61 6c 69 | 67 6e 6d 65 6e 74 20 26 | the ali|gnment &|
|00004080| 20 6d 61 73 6b 0d 72 65 | 70 65 61 74 20 77 69 74 | mask.re|peat wit|
|00004090| 68 20 69 6e 64 65 78 20 | 3d 20 31 20 74 6f 20 6e |h index |= 1 to n|
|000040a0| 75 6d 73 65 71 73 0d 73 | 65 74 20 74 68 65 20 63 |umseqs.s|et the c|
|000040b0| 75 72 73 6f 72 20 74 6f | 20 62 75 73 79 0d 70 75 |ursor to| busy.pu|
|000040c0| 74 20 69 74 65 6d 20 69 | 6e 64 65 78 20 6f 66 20 |t item i|ndex of |
|000040d0| 73 65 71 4e 61 6d 65 73 | 20 26 20 22 20 22 20 c2 |seqNames| & " " .|
|000040e0| 0d 26 20 69 74 65 6d 20 | 69 6e 64 65 78 20 6f 66 |.& item |index of|
|000040f0| 20 73 65 71 73 20 26 20 | 72 65 74 75 72 6e 20 61 | seqs & |return a|
|00004100| 66 74 65 72 20 68 65 61 | 64 65 72 0d 65 6e 64 20 |fter hea|der.end |
|00004110| 72 65 70 65 61 74 0d 70 | 75 74 20 6d 61 73 6b 4e |repeat.p|ut maskN|
|00004120| 61 6d 65 20 26 20 22 20 | 22 20 26 20 6d 61 73 6b |ame & " |" & mask|
|00004130| 20 26 20 72 65 74 75 72 | 6e 20 61 66 74 65 72 20 | & retur|n after |
|00004140| 68 65 61 64 65 72 0d 2d | 2d 20 61 20 6c 69 6e 65 |header.-|- a line|
|00004150| 0d 70 75 74 20 22 2d 2d | 2d 2b 22 20 61 66 74 65 |.put "--|-+" afte|
|00004160| 72 20 68 65 61 64 65 72 | 0d 72 65 70 65 61 74 20 |r header|.repeat |
|00004170| 77 69 74 68 20 69 6e 64 | 65 78 20 3d 20 31 20 74 |with ind|ex = 1 t|
|00004180| 6f 20 6e 75 6d 50 6f 73 | 0d 70 75 74 20 22 2d 22 |o numPos|.put "-"|
|00004190| 20 61 66 74 65 72 20 68 | 65 61 64 65 72 0d 65 6e | after h|eader.en|
|000041a0| 64 20 72 65 70 65 61 74 | 0d 2d 2d 20 6e 75 6d 62 |d repeat|.-- numb|
|000041b0| 65 72 20 74 68 65 20 61 | 6c 69 67 6e 6d 65 6e 74 |er the a|lignment|
|000041c0| 0d 73 65 74 20 74 68 65 | 20 63 75 72 73 6f 72 20 |.set the| cursor |
|000041d0| 74 6f 20 62 75 73 79 0d | 70 75 74 20 72 65 74 75 |to busy.|put retu|
|000041e0| 72 6e 20 61 66 74 65 72 | 20 68 65 61 64 65 72 0d |rn after| header.|
|000041f0| 70 75 74 20 22 20 20 20 | 7c 22 20 61 66 74 65 72 |put " ||" after|
|00004200| 20 68 65 61 64 65 72 0d | 72 65 70 65 61 74 20 77 | header.|repeat w|
|00004210| 69 74 68 20 69 6e 64 65 | 78 20 3d 20 31 20 74 6f |ith inde|x = 1 to|
|00004220| 20 6e 75 6d 50 6f 73 0d | 70 75 74 20 69 6e 64 65 | numPos.|put inde|
|00004230| 78 20 64 69 76 20 31 30 | 30 20 61 66 74 65 72 20 |x div 10|0 after |
|00004240| 68 65 61 64 65 72 0d 65 | 6e 64 20 72 65 70 65 61 |header.e|nd repea|
|00004250| 74 0d 73 65 74 20 74 68 | 65 20 63 75 72 73 6f 72 |t.set th|e cursor|
|00004260| 20 74 6f 20 62 75 73 79 | 0d 70 75 74 20 72 65 74 | to busy|.put ret|
|00004270| 75 72 6e 20 61 66 74 65 | 72 20 68 65 61 64 65 72 |urn afte|r header|
|00004280| 0d 70 75 74 20 22 20 20 | 20 7c 22 20 61 66 74 65 |.put " | |" afte|
|00004290| 72 20 68 65 61 64 65 72 | 0d 72 65 70 65 61 74 20 |r header|.repeat |
|000042a0| 77 69 74 68 20 69 6e 64 | 65 78 20 3d 20 31 20 74 |with ind|ex = 1 t|
|000042b0| 6f 20 6e 75 6d 50 6f 73 | 0d 70 75 74 20 69 6e 64 |o numPos|.put ind|
|000042c0| 65 78 20 64 69 76 20 31 | 30 20 69 6e 74 6f 20 74 |ex div 1|0 into t|
|000042d0| 65 6d 70 0d 69 66 20 74 | 65 6d 70 20 3e 20 39 20 |emp.if t|emp > 9 |
|000042e0| 74 68 65 6e 20 70 75 74 | 20 74 65 6d 70 20 6d 6f |then put| temp mo|
|000042f0| 64 20 31 30 20 69 6e 74 | 6f 20 74 65 6d 70 0d 70 |d 10 int|o temp.p|
|00004300| 75 74 20 74 65 6d 70 20 | 61 66 74 65 72 20 68 65 |ut temp |after he|
|00004310| 61 64 65 72 0d 65 6e 64 | 20 72 65 70 65 61 74 0d |ader.end| repeat.|
|00004320| 73 65 74 20 74 68 65 20 | 63 75 72 73 6f 72 20 74 |set the |cursor t|
|00004330| 6f 20 62 75 73 79 0d 70 | 75 74 20 72 65 74 75 72 |o busy.p|ut retur|
|00004340| 6e 20 61 66 74 65 72 20 | 68 65 61 64 65 72 0d 70 |n after |header.p|
|00004350| 75 74 20 22 20 20 20 7c | 22 20 61 66 74 65 72 20 |ut " ||" after |
|00004360| 68 65 61 64 65 72 0d 72 | 65 70 65 61 74 20 77 69 |header.r|epeat wi|
|00004370| 74 68 20 69 6e 64 65 78 | 20 3d 20 31 20 74 6f 20 |th index| = 1 to |
|00004380| 6e 75 6d 50 6f 73 0d 70 | 75 74 20 69 6e 64 65 78 |numPos.p|ut index|
|00004390| 20 69 6e 74 6f 20 74 65 | 6d 70 0d 69 66 20 74 65 | into te|mp.if te|
|000043a0| 6d 70 20 3e 20 39 39 20 | 74 68 65 6e 20 70 75 74 |mp > 99 |then put|
|000043b0| 20 74 65 6d 70 20 6d 6f | 64 20 31 30 20 69 6e 74 | temp mo|d 10 int|
|000043c0| 6f 20 74 65 6d 70 0d 69 | 66 20 74 65 6d 70 20 3e |o temp.i|f temp >|
|000043d0| 20 39 20 74 68 65 6e 20 | 70 75 74 20 74 65 6d 70 | 9 then |put temp|
|000043e0| 20 6d 6f 64 20 31 30 20 | 69 6e 74 6f 20 74 65 6d | mod 10 |into tem|
|000043f0| 70 0d 70 75 74 20 74 65 | 6d 70 20 61 66 74 65 72 |p.put te|mp after|
|00004400| 20 68 65 61 64 65 72 0d | 65 6e 64 20 72 65 70 65 | header.|end repe|
|00004410| 61 74 0d 73 65 74 20 74 | 68 65 20 63 75 72 73 6f |at.set t|he curso|
|00004420| 72 20 74 6f 20 62 75 73 | 79 0d 70 75 74 20 72 65 |r to bus|y.put re|
|00004430| 74 75 72 6e 20 61 66 74 | 65 72 20 68 65 61 64 65 |turn aft|er heade|
|00004440| 72 0d 70 75 74 20 22 2d | 2d 2d 2b 22 20 61 66 74 |r.put "-|--+" aft|
|00004450| 65 72 20 68 65 61 64 65 | 72 0d 72 65 70 65 61 74 |er heade|r.repeat|
|00004460| 20 77 69 74 68 20 69 6e | 64 65 78 20 3d 20 31 20 | with in|dex = 1 |
|00004470| 74 6f 20 6e 75 6d 50 6f | 73 0d 70 75 74 20 22 2d |to numPo|s.put "-|
|00004480| 22 20 61 66 74 65 72 20 | 68 65 61 64 65 72 0d 65 |" after |header.e|
|00004490| 6e 64 20 72 65 70 65 61 | 74 0d 70 75 74 20 72 65 |nd repea|t.put re|
|000044a0| 74 75 72 6e 20 61 66 74 | 65 72 20 68 65 61 64 65 |turn aft|er heade|
|000044b0| 72 0d 72 65 74 75 72 6e | 20 68 65 61 64 65 72 0d |r.return| header.|
|000044c0| 65 6e 64 20 68 65 61 64 | 65 72 53 74 75 66 66 0d |end head|erStuff.|
|000044d0| 0d 6f 6e 20 67 65 6e 50 | 6f 73 44 61 74 61 4e 75 |.on genP|osDataNu|
|000044e0| 6d 73 0d 2d 2d 20 67 65 | 6e 65 72 61 74 65 20 6e |ms.-- ge|nerate n|
|000044f0| 75 6d 65 72 69 63 61 6c | 20 64 61 74 61 20 28 61 |umerical| data (a|
|00004500| 72 72 61 79 20 70 6f 73 | 44 61 74 61 4e 75 6d 73 |rray pos|DataNums|
|00004510| 29 20 66 72 6f 6d 20 61 | 72 72 61 79 20 70 6f 73 |) from a|rray pos|
|00004520| 44 61 74 61 0d 2d 2d 20 | 65 2e 67 2e 20 47 47 43 |Data.-- |e.g. GGC|
|00004530| 47 55 41 41 43 47 20 2d | 2d 2d 3e 20 31 31 32 31 |GUAACG -|--> 1121|
|00004540| 33 34 34 32 31 0d 67 6c | 6f 62 61 6c 20 70 6f 73 |34421.gl|obal pos|
|00004550| 44 61 74 61 2c 70 6f 73 | 44 61 74 61 4e 75 6d 73 |Data,pos|DataNums|
|00004560| 2c 63 6f 6e 73 74 61 6e | 74 4c 69 73 74 2c 6e 75 |,constan|tList,nu|
|00004570| 6d 53 65 71 73 2c 6e 75 | 6d 50 6f 73 0d 70 75 74 |mSeqs,nu|mPos.put|
|00004580| 20 22 47 65 6e 65 72 61 | 74 69 6e 67 20 62 61 73 | "Genera|ting bas|
|00004590| 65 20 6e 75 6d 65 72 69 | 63 61 6c 20 64 61 74 61 |e numeri|cal data|
|000045a0| 2e 2e 2e 2e 22 20 69 6e | 74 6f 20 6d 73 67 0d 70 |...." in|to msg.p|
|000045b0| 75 74 20 65 6d 70 74 79 | 20 69 6e 74 6f 20 70 6f |ut empty| into po|
|000045c0| 73 44 61 74 61 4e 75 6d | 73 0d 72 65 70 65 61 74 |sDataNum|s.repeat|
|000045d0| 20 77 69 74 68 20 69 6e | 64 65 78 20 3d 20 31 20 | with in|dex = 1 |
|000045e0| 74 6f 20 6e 75 6d 50 6f | 73 0d 70 75 74 20 22 78 |to numPo|s.put "x|
|000045f0| 2c 78 2c 78 2c 78 2c 78 | 22 20 69 6e 74 6f 20 74 |,x,x,x,x|" into t|
|00004600| 68 65 42 61 73 65 73 0d | 72 65 70 65 61 74 20 77 |heBases.|repeat w|
|00004610| 69 74 68 20 69 6e 64 65 | 78 32 20 3d 20 31 20 74 |ith inde|x2 = 1 t|
|00004620| 6f 20 6e 75 6d 53 65 71 | 73 0d 73 65 74 20 74 68 |o numSeq|s.set th|
|00004630| 65 20 63 75 72 73 6f 72 | 20 74 6f 20 62 75 73 79 |e cursor| to busy|
|00004640| 0d 70 75 74 20 65 6d 70 | 74 79 20 69 6e 74 6f 20 |.put emp|ty into |
|00004650| 74 68 65 4e 75 6d 0d 72 | 65 70 65 61 74 20 77 69 |theNum.r|epeat wi|
|00004660| 74 68 20 69 6e 64 65 78 | 33 20 3d 20 31 20 74 6f |th index|3 = 1 to|
|00004670| 20 36 0d 69 66 20 63 68 | 61 72 20 69 6e 64 65 78 | 6.if ch|ar index|
|00004680| 32 20 6f 66 20 69 74 65 | 6d 20 69 6e 64 65 78 20 |2 of ite|m index |
|00004690| 6f 66 20 70 6f 73 44 61 | 74 61 20 3d 20 69 74 65 |of posDa|ta = ite|
|000046a0| 6d 20 69 6e 64 65 78 33 | 20 6f 66 20 c2 0d 74 68 |m index3| of ..th|
|000046b0| 65 42 61 73 65 73 20 74 | 68 65 6e 0d 70 75 74 20 |eBases t|hen.put |
|000046c0| 69 6e 64 65 78 33 20 69 | 6e 74 6f 20 74 68 65 4e |index3 i|nto theN|
|000046d0| 75 6d 0d 65 6c 73 65 0d | 69 66 20 69 74 65 6d 20 |um.else.|if item |
|000046e0| 69 6e 64 65 78 33 20 6f | 66 20 74 68 65 42 61 73 |index3 o|f theBas|
|000046f0| 65 73 20 3d 20 22 78 22 | 20 74 68 65 6e 0d 69 66 |es = "x"| then.if|
|00004700| 20 74 68 65 4e 75 6d 20 | 69 73 20 65 6d 70 74 79 | theNum |is empty|
|00004710| 20 74 68 65 6e 0d 70 75 | 74 20 63 68 61 72 20 69 | then.pu|t char i|
|00004720| 6e 64 65 78 32 20 6f 66 | 20 69 74 65 6d 20 69 6e |ndex2 of| item in|
|00004730| 64 65 78 20 6f 66 20 70 | 6f 73 44 61 74 61 20 69 |dex of p|osData i|
|00004740| 6e 74 6f 20 69 74 65 6d | 20 c2 0d 69 6e 64 65 78 |nto item| ..index|
|00004750| 33 20 6f 66 20 74 68 65 | 42 61 73 65 73 0d 70 75 |3 of the|Bases.pu|
|00004760| 74 20 69 6e 64 65 78 33 | 20 69 6e 74 6f 20 74 68 |t index3| into th|
|00004770| 65 4e 75 6d 0d 65 6e 64 | 20 69 66 0d 65 6e 64 20 |eNum.end| if.end |
|00004780| 69 66 0d 65 6e 64 20 69 | 66 0d 65 6e 64 20 72 65 |if.end i|f.end re|
|00004790| 70 65 61 74 0d 70 75 74 | 20 74 68 65 4e 75 6d 20 |peat.put| theNum |
|000047a0| 61 66 74 65 72 20 70 6f | 73 44 61 74 61 4e 75 6d |after po|sDataNum|
|000047b0| 73 0d 65 6e 64 20 72 65 | 70 65 61 74 0d 69 66 20 |s.end re|peat.if |
|000047c0| 69 6e 64 65 78 20 3c 3e | 20 6e 75 6d 50 6f 73 20 |index <>| numPos |
|000047d0| 74 68 65 6e 20 70 75 74 | 20 22 2c 22 20 61 66 74 |then put| "," aft|
|000047e0| 65 72 20 70 6f 73 44 61 | 74 61 4e 75 6d 73 0d 70 |er posDa|taNums.p|
|000047f0| 75 74 20 22 47 65 6e 65 | 72 61 74 69 6e 67 20 62 |ut "Gene|rating b|
|00004800| 61 73 65 20 6e 75 6d 65 | 72 69 63 61 6c 20 64 61 |ase nume|rical da|
|00004810| 74 61 2e 2e 2e 2e 22 20 | 26 20 69 6e 64 65 78 20 |ta...." |& index |
|00004820| 69 6e 74 6f 20 6d 73 67 | 0d 65 6e 64 20 72 65 70 |into msg|.end rep|
|00004830| 65 61 74 0d 2d 2d 20 6d | 61 6b 65 20 61 20 6c 69 |eat.-- m|ake a li|
|00004840| 73 74 20 28 63 6f 6e 73 | 74 61 6e 74 4c 69 73 74 |st (cons|tantList|
|00004850| 29 20 6f 66 20 69 6e 76 | 61 72 69 65 6e 74 20 70 |) of inv|arient p|
|00004860| 6f 73 69 74 69 6f 6e 73 | 0d 70 75 74 20 22 49 64 |ositions|.put "Id|
|00004870| 65 6e 74 69 66 79 69 6e | 67 20 69 6e 76 61 72 69 |entifyin|g invari|
|00004880| 65 6e 74 20 70 6f 73 69 | 74 69 6f 6e 73 2e 2e 2e |ent posi|tions...|
|00004890| 2e 22 20 69 6e 74 6f 20 | 6d 73 67 0d 70 75 74 20 |." into |msg.put |
|000048a0| 65 6d 70 74 79 20 69 6e | 74 6f 20 61 6c 6c 4f 6e |empty in|to allOn|
|000048b0| 65 73 0d 72 65 70 65 61 | 74 20 6e 75 6d 53 65 71 |es.repea|t numSeq|
|000048c0| 73 20 74 69 6d 65 73 0d | 70 75 74 20 22 31 22 20 |s times.|put "1" |
|000048d0| 61 66 74 65 72 20 61 6c | 6c 4f 6e 65 73 0d 65 6e |after al|lOnes.en|
|000048e0| 64 20 72 65 70 65 61 74 | 0d 70 75 74 20 65 6d 70 |d repeat|.put emp|
|000048f0| 74 79 20 69 6e 74 6f 20 | 63 6f 6e 73 74 61 6e 74 |ty into |constant|
|00004900| 4c 69 73 74 0d 72 65 70 | 65 61 74 20 77 69 74 68 |List.rep|eat with|
|00004910| 20 69 6e 64 65 78 20 3d | 20 31 20 74 6f 20 74 68 | index =| 1 to th|
|00004920| 65 20 6e 75 6d 62 65 72 | 20 6f 66 20 69 74 65 6d |e number| of item|
|00004930| 73 20 69 6e 20 70 6f 73 | 44 61 74 61 4e 75 6d 73 |s in pos|DataNums|
|00004940| 0d 73 65 74 20 74 68 65 | 20 63 75 72 73 6f 72 20 |.set the| cursor |
|00004950| 74 6f 20 62 75 73 79 0d | 69 66 20 69 74 65 6d 20 |to busy.|if item |
|00004960| 69 6e 64 65 78 20 6f 66 | 20 70 6f 73 44 61 74 61 |index of| posData|
|00004970| 4e 75 6d 73 20 3d 20 61 | 6c 6c 4f 6e 65 73 20 74 |Nums = a|llOnes t|
|00004980| 68 65 6e 0d 70 75 74 20 | 69 6e 64 65 78 20 26 20 |hen.put |index & |
|00004990| 22 2c 22 20 61 66 74 65 | 72 20 63 6f 6e 73 74 61 |"," afte|r consta|
|000049a0| 6e 74 4c 69 73 74 0d 65 | 6e 64 20 69 66 0d 65 6e |ntList.e|nd if.en|
|000049b0| 64 20 72 65 70 65 61 74 | 0d 64 65 6c 65 74 65 20 |d repeat|.delete |
|000049c0| 6c 61 73 74 20 63 68 61 | 72 20 6f 66 20 63 6f 6e |last cha|r of con|
|000049d0| 73 74 61 6e 74 4c 69 73 | 74 0d 70 75 74 20 65 6d |stantLis|t.put em|
|000049e0| 70 74 79 20 69 6e 74 6f | 20 6d 73 67 0d 65 6e 64 |pty into| msg.end|
|000049f0| 20 67 65 6e 50 6f 73 44 | 61 74 61 4e 75 6d 73 0d | genPosD|ataNums.|
|00004a00| 0d 6f 6e 20 64 6f 43 6f | 56 61 72 42 50 0d 2d 2d |.on doCo|VarBP.--|
|00004a10| 20 73 74 61 6e 64 61 72 | 64 20 63 6f 6d 70 65 6e | standar|d compen|
|00004a20| 73 61 74 6f 72 79 20 61 | 6e 61 6c 79 73 69 73 20 |satory a|nalysis |
|00004a30| 2d 20 75 73 65 73 20 6d | 61 74 63 68 4c 69 73 74 |- uses m|atchList|
|00004a40| 20 74 6f 20 66 69 6e 64 | 20 6d 61 74 63 68 65 73 | to find| matches|
|00004a50| 0d 2d 2d 20 73 65 74 73 | 20 75 70 20 74 68 65 20 |.-- sets| up the |
|00004a60| 63 6f 6d 70 61 72 69 73 | 6f 6e 73 20 26 20 73 61 |comparis|ons & sa|
|00004a70| 76 65 73 20 74 68 65 20 | 72 65 73 75 6c 74 73 20 |ves the |results |
|00004a80| 74 6f 20 64 69 73 6b 0d | 67 6c 6f 62 61 6c 20 6e |to disk.|global n|
|00004a90| 75 6d 50 6f 73 2c 70 6f | 73 44 61 74 61 2c 70 6f |umPos,po|sData,po|
|00004aa0| 73 44 61 74 61 4e 75 6d | 73 2c 73 70 61 63 65 72 |sDataNum|s,spacer|
|00004ab0| 43 48 2c 69 6e 76 61 72 | 69 61 6e 74 43 48 2c 6d |CH,invar|iantCH,m|
|00004ac0| 61 73 6b 43 48 2c 6d 61 | 73 6b 2c 20 c2 0d 63 6f |askCH,ma|sk, ..co|
|00004ad0| 6e 73 74 61 6e 74 4c 69 | 73 74 2c 6e 75 6d 53 65 |nstantLi|st,numSe|
|00004ae0| 71 73 2c 61 6c 6c 4d 61 | 74 63 68 65 73 43 48 2c |qs,allMa|tchesCH,|
|00004af0| 61 6c 6c 42 75 74 4f 6e | 65 43 48 2c 6e 6f 4d 61 |allButOn|eCH,noMa|
|00004b00| 74 63 68 43 48 2c 6d 61 | 74 63 68 4c 69 73 74 0d |tchCH,ma|tchList.|
|00004b10| 2d 2d 20 4f 70 65 6e 20 | 74 68 65 20 64 69 73 6b |-- Open |the disk|
|00004b20| 20 66 69 6c 65 20 66 6f | 72 20 74 68 65 20 72 65 | file fo|r the re|
|00004b30| 73 75 6c 74 73 0d 70 75 | 74 20 22 63 6f 6d 70 65 |sults.pu|t "compe|
|00004b40| 6e 73 61 74 6f 72 79 20 | 63 68 61 6e 67 65 73 22 |nsatory |changes"|
|00004b50| 20 69 6e 74 6f 20 64 65 | 66 61 75 6c 74 0d 61 73 | into de|fault.as|
|00004b60| 6b 20 66 69 6c 65 20 22 | 53 61 76 65 20 75 6e 64 |k file "|Save und|
|00004b70| 65 72 20 77 68 61 74 20 | 6e 61 6d 65 3f 22 20 77 |er what |name?" w|
|00004b80| 69 74 68 20 64 65 66 61 | 75 6c 74 0d 70 75 74 20 |ith defa|ult.put |
|00004b90| 69 74 20 69 6e 74 6f 20 | 66 69 6c 65 50 61 74 68 |it into |filePath|
|00004ba0| 0d 69 66 20 66 69 6c 65 | 50 61 74 68 20 69 73 20 |.if file|Path is |
|00004bb0| 65 6d 70 74 79 20 74 68 | 65 6e 20 65 78 69 74 20 |empty th|en exit |
|00004bc0| 74 6f 20 68 79 70 65 72 | 63 61 72 64 0d 69 66 20 |to hyper|card.if |
|00004bd0| 70 6f 73 44 61 74 61 20 | 69 73 20 65 6d 70 74 79 |posData |is empty|
|00004be0| 20 74 68 65 6e 20 67 65 | 74 50 6f 73 44 61 74 61 | then ge|tPosData|
|00004bf0| 0d 69 66 20 70 6f 73 44 | 61 74 61 4e 75 6d 73 20 |.if posD|ataNums |
|00004c00| 69 73 20 65 6d 70 74 79 | 20 74 68 65 6e 20 67 65 |is empty| then ge|
|00004c10| 6e 50 6f 73 44 61 74 61 | 4e 75 6d 73 0d 6f 70 65 |nPosData|Nums.ope|
|00004c20| 6e 20 66 69 6c 65 20 66 | 69 6c 65 50 61 74 68 0d |n file f|ilePath.|
|00004c30| 70 75 74 20 68 65 61 64 | 65 72 53 74 75 66 66 20 |put head|erStuff |
|00004c40| 28 74 72 75 65 2c 66 69 | 6c 65 50 61 74 68 29 20 |(true,fi|lePath) |
|00004c50| 69 6e 74 6f 20 69 74 0d | 77 72 69 74 65 20 69 74 |into it.|write it|
|00004c60| 20 74 6f 20 66 69 6c 65 | 20 66 69 6c 65 50 61 74 | to file| filePat|
|00004c70| 68 0d 2d 2d 20 54 68 65 | 20 61 6e 61 6c 79 73 69 |h.-- The| analysi|
|00004c80| 73 0d 72 65 70 65 61 74 | 20 77 69 74 68 20 69 6e |s.repeat| with in|
|00004c90| 64 65 78 31 20 3d 20 31 | 20 74 6f 20 6e 75 6d 50 |dex1 = 1| to numP|
|00004ca0| 6f 73 0d 70 75 74 20 22 | 50 72 6f 67 72 65 73 73 |os.put "|Progress|
|00004cb0| 20 3a 20 22 20 26 20 69 | 6e 64 65 78 31 20 26 20 | : " & i|ndex1 & |
|00004cc0| 22 2f 22 20 26 20 6e 75 | 6d 50 6f 73 20 69 6e 74 |"/" & nu|mPos int|
|00004cd0| 6f 20 6d 73 67 0d 70 75 | 74 20 69 6e 64 65 78 31 |o msg.pu|t index1|
|00004ce0| 20 26 20 22 7c 22 20 69 | 6e 74 6f 20 74 68 65 4c | & "|" i|nto theL|
|00004cf0| 69 6e 65 0d 69 66 20 69 | 6e 64 65 78 31 20 3c 20 |ine.if i|ndex1 < |
|00004d00| 31 30 20 74 68 65 6e 20 | 70 75 74 20 22 30 22 20 |10 then |put "0" |
|00004d10| 62 65 66 6f 72 65 20 74 | 68 65 4c 69 6e 65 0d 69 |before t|heLine.i|
|00004d20| 66 20 69 6e 64 65 78 31 | 20 3c 20 31 30 30 20 74 |f index1| < 100 t|
|00004d30| 68 65 6e 20 70 75 74 20 | 22 30 22 20 62 65 66 6f |hen put |"0" befo|
|00004d40| 72 65 20 74 68 65 4c 69 | 6e 65 0d 72 65 70 65 61 |re theLi|ne.repea|
|00004d50| 74 20 69 6e 64 65 78 31 | 20 74 69 6d 65 73 0d 70 |t index1| times.p|
|00004d60| 75 74 20 73 70 61 63 65 | 72 43 48 20 61 66 74 65 |ut space|rCH afte|
|00004d70| 72 20 74 68 65 4c 69 6e | 65 0d 65 6e 64 20 72 65 |r theLin|e.end re|
|00004d80| 70 65 61 74 0d 70 75 74 | 20 69 74 65 6d 20 69 6e |peat.put| item in|
|00004d90| 64 65 78 31 20 6f 66 20 | 70 6f 73 44 61 74 61 20 |dex1 of |posData |
|00004da0| 69 6e 74 6f 20 59 70 6f | 73 0d 72 65 70 65 61 74 |into Ypo|s.repeat|
|00004db0| 20 77 69 74 68 20 69 6e | 64 65 78 32 20 3d 20 28 | with in|dex2 = (|
|00004dc0| 69 6e 64 65 78 31 20 2b | 20 31 29 20 74 6f 20 6e |index1 +| 1) to n|
|00004dd0| 75 6d 50 6f 73 0d 73 65 | 74 20 74 68 65 20 63 75 |umPos.se|t the cu|
|00004de0| 72 73 6f 72 20 74 6f 20 | 62 75 73 79 0d 69 66 20 |rsor to |busy.if |
|00004df0| 28 63 68 61 72 20 69 6e | 64 65 78 31 20 6f 66 20 |(char in|dex1 of |
|00004e00| 6d 61 73 6b 20 3c 3e 20 | 6d 61 73 6b 43 48 29 20 |mask <> |maskCH) |
|00004e10| 6f 72 20 c2 0d 28 63 68 | 61 72 20 69 6e 64 65 78 |or ..(ch|ar index|
|00004e20| 32 20 6f 66 20 6d 61 73 | 6b 20 3c 3e 20 6d 61 73 |2 of mas|k <> mas|
|00004e30| 6b 43 48 29 20 74 68 65 | 6e 0d 70 75 74 20 73 70 |kCH) the|n.put sp|
|00004e40| 61 63 65 72 43 48 20 69 | 6e 74 6f 20 6d 61 74 63 |acerCH i|nto matc|
|00004e50| 68 43 48 0d 65 6c 73 65 | 0d 70 75 74 20 69 74 65 |hCH.else|.put ite|
|00004e60| 6d 20 69 6e 64 65 78 32 | 20 6f 66 20 70 6f 73 44 |m index2| of posD|
|00004e70| 61 74 61 20 69 6e 74 6f | 20 58 70 6f 73 0d 70 75 |ata into| Xpos.pu|
|00004e80| 74 20 7a 65 72 6f 20 69 | 6e 74 6f 20 74 61 6c 6c |t zero i|nto tall|
|00004e90| 79 0d 72 65 70 65 61 74 | 20 77 69 74 68 20 69 6e |y.repeat| with in|
|00004ea0| 64 65 78 33 20 3d 20 31 | 20 74 6f 20 6e 75 6d 53 |dex3 = 1| to numS|
|00004eb0| 65 71 73 0d 70 75 74 20 | 63 68 61 72 20 69 6e 64 |eqs.put |char ind|
|00004ec0| 65 78 33 20 6f 66 20 58 | 70 6f 73 20 26 20 63 68 |ex3 of X|pos & ch|
|00004ed0| 61 72 20 69 6e 64 65 78 | 33 20 6f 66 20 59 70 6f |ar index|3 of Ypo|
|00004ee0| 73 20 69 6e 74 6f 20 74 | 68 65 50 61 69 72 0d 69 |s into t|hePair.i|
|00004ef0| 66 20 74 68 65 50 61 69 | 72 20 69 73 20 69 6e 20 |f thePai|r is in |
|00004f00| 6d 61 74 63 68 4c 69 73 | 74 20 74 68 65 6e 20 61 |matchLis|t then a|
|00004f10| 64 64 20 31 20 74 6f 20 | 74 61 6c 6c 79 0d 65 6e |dd 1 to |tally.en|
|00004f20| 64 20 72 65 70 65 61 74 | 0d 69 66 20 74 61 6c 6c |d repeat|.if tall|
|00004f30| 79 20 3d 20 6e 75 6d 53 | 65 71 73 20 74 68 65 6e |y = numS|eqs then|
|00004f40| 20 70 75 74 20 61 6c 6c | 4d 61 74 63 68 65 73 43 | put all|MatchesC|
|00004f50| 48 20 69 6e 74 6f 20 6d | 61 74 63 68 43 48 0d 65 |H into m|atchCH.e|
|00004f60| 6c 73 65 20 69 66 20 74 | 61 6c 6c 79 20 3d 20 28 |lse if t|ally = (|
|00004f70| 6e 75 6d 53 65 71 73 20 | 2d 20 31 29 20 74 68 65 |numSeqs |- 1) the|
|00004f80| 6e 20 70 75 74 20 61 6c | 6c 42 75 74 4f 6e 65 43 |n put al|lButOneC|
|00004f90| 48 20 69 6e 74 6f 20 6d | 61 74 63 68 43 48 0d 65 |H into m|atchCH.e|
|00004fa0| 6c 73 65 20 70 75 74 20 | 6e 6f 4d 61 74 63 68 43 |lse put |noMatchC|
|00004fb0| 48 20 69 6e 74 6f 20 6d | 61 74 63 68 43 48 0d 69 |H into m|atchCH.i|
|00004fc0| 66 20 6d 61 74 63 68 43 | 48 20 3d 20 61 6c 6c 4d |f matchC|H = allM|
|00004fd0| 61 74 63 68 65 73 43 48 | 20 74 68 65 6e 0d 69 66 |atchesCH| then.if|
|00004fe0| 20 28 69 6e 64 65 78 31 | 20 69 73 20 69 6e 20 63 | (index1| is in c|
|00004ff0| 6f 6e 73 74 61 6e 74 4c | 69 73 74 29 20 61 6e 64 |onstantL|ist) and|
|00005000| 20 28 69 6e 64 65 78 32 | 20 69 73 20 69 6e 20 63 | (index2| is in c|
|00005010| 6f 6e 73 74 61 6e 74 4c | 69 73 74 29 20 74 68 65 |onstantL|ist) the|
|00005020| 6e 0d 70 75 74 20 69 6e | 76 61 72 69 61 6e 74 43 |n.put in|variantC|
|00005030| 48 20 69 6e 74 6f 20 6d | 61 74 63 68 43 48 0d 65 |H into m|atchCH.e|
|00005040| 6e 64 20 69 66 0d 65 6e | 64 20 69 66 0d 65 6e 64 |nd if.en|d if.end|
|00005050| 20 69 66 0d 70 75 74 20 | 6d 61 74 63 68 43 48 20 | if.put |matchCH |
|00005060| 61 66 74 65 72 20 74 68 | 65 4c 69 6e 65 0d 65 6e |after th|eLine.en|
|00005070| 64 20 72 65 70 65 61 74 | 0d 70 75 74 20 72 65 74 |d repeat|.put ret|
|00005080| 75 72 6e 20 61 66 74 65 | 72 20 74 68 65 4c 69 6e |urn afte|r theLin|
|00005090| 65 0d 77 72 69 74 65 20 | 74 68 65 4c 69 6e 65 20 |e.write |theLine |
|000050a0| 74 6f 20 66 69 6c 65 20 | 66 69 6c 65 50 61 74 68 |to file |filePath|
|000050b0| 0d 65 6e 64 20 72 65 70 | 65 61 74 0d 70 75 74 20 |.end rep|eat.put |
|000050c0| 45 4f 46 20 26 20 72 65 | 74 75 72 6e 20 69 6e 74 |EOF & re|turn int|
|000050d0| 6f 20 74 68 65 4c 69 6e | 65 0d 77 72 69 74 65 20 |o theLin|e.write |
|000050e0| 74 68 65 4c 69 6e 65 20 | 74 6f 20 66 69 6c 65 20 |theLine |to file |
|000050f0| 66 69 6c 65 50 61 74 68 | 0d 62 65 65 70 0d 63 6c |filePath|.beep.cl|
|00005100| 6f 73 65 20 66 69 6c 65 | 20 66 69 6c 65 50 61 74 |ose file| filePat|
|00005110| 68 0d 70 75 74 20 22 41 | 6c 6c 20 66 69 6e 69 73 |h.put "A|ll finis|
|00005120| 68 65 64 2e 2e 2e 2e 54 | 68 61 6e 6b 73 20 66 6f |hed....T|hanks fo|
|00005130| 72 20 77 61 69 74 69 6e | 67 21 22 20 69 6e 74 6f |r waitin|g!" into|
|00005140| 20 6d 73 67 0d 65 6e 64 | 20 64 6f 43 6f 56 61 72 | msg.end| doCoVar|
|00005150| 42 50 0d 0d 6f 6e 20 64 | 6f 43 6f 56 61 72 41 62 |BP..on d|oCoVarAb|
|00005160| 73 0d 2d 2d 20 73 74 61 | 6e 64 61 72 64 20 63 6f |s.-- sta|ndard co|
|00005170| 56 61 72 69 61 74 69 6f | 6e 20 61 6e 61 6c 79 73 |Variatio|n analys|
|00005180| 69 73 20 2d 20 61 62 73 | 6f 6c 75 74 65 20 63 6f |is - abs|olute co|
|00005190| 76 61 72 69 61 74 69 6f | 6e 0d 2d 2d 20 73 65 74 |variatio|n.-- set|
|000051a0| 73 20 75 70 20 74 68 65 | 20 63 6f 6d 70 61 72 69 |s up the| compari|
|000051b0| 73 6f 6e 73 20 26 20 73 | 61 76 65 73 20 74 68 65 |sons & s|aves the|
|000051c0| 20 72 65 73 75 6c 74 73 | 20 74 6f 20 64 69 73 6b | results| to disk|
|000051d0| 0d 2d 2d 20 61 73 20 61 | 20 6d 61 74 72 69 78 0d |.-- as a| matrix.|
|000051e0| 67 6c 6f 62 61 6c 20 6e | 75 6d 50 6f 73 2c 70 6f |global n|umPos,po|
|000051f0| 73 44 61 74 61 2c 70 6f | 73 44 61 74 61 4e 75 6d |sData,po|sDataNum|
|00005200| 73 2c 73 70 61 63 65 72 | 43 48 2c 69 6e 76 61 72 |s,spacer|CH,invar|
|00005210| 69 61 6e 74 43 48 2c 6d | 61 73 6b 43 48 2c 6d 61 |iantCH,m|askCH,ma|
|00005220| 73 6b 2c 20 c2 0d 63 6f | 6e 73 74 61 6e 74 4c 69 |sk, ..co|nstantLi|
|00005230| 73 74 2c 6e 75 6d 53 65 | 71 73 2c 61 6c 6c 4d 61 |st,numSe|qs,allMa|
|00005240| 74 63 68 65 73 43 48 2c | 61 6c 6c 42 75 74 4f 6e |tchesCH,|allButOn|
|00005250| 65 43 48 2c 6e 6f 4d 61 | 74 63 68 43 48 0d 70 75 |eCH,noMa|tchCH.pu|
|00005260| 74 20 22 63 6f 76 61 72 | 69 61 74 69 6f 6e 20 72 |t "covar|iation r|
|00005270| 65 73 75 6c 74 73 22 20 | 69 6e 74 6f 20 64 65 66 |esults" |into def|
|00005280| 61 75 6c 74 0d 61 73 6b | 20 66 69 6c 65 20 22 53 |ault.ask| file "S|
|00005290| 61 76 65 20 75 6e 64 65 | 72 20 77 68 61 74 20 6e |ave unde|r what n|
|000052a0| 61 6d 65 3f 22 20 77 69 | 74 68 20 64 65 66 61 75 |ame?" wi|th defau|
|000052b0| 6c 74 0d 70 75 74 20 69 | 74 20 69 6e 74 6f 20 66 |lt.put i|t into f|
|000052c0| 69 6c 65 50 61 74 68 0d | 69 66 20 66 69 6c 65 50 |ilePath.|if fileP|
|000052d0| 61 74 68 20 69 73 20 65 | 6d 70 74 79 20 74 68 65 |ath is e|mpty the|
|000052e0| 6e 20 65 78 69 74 20 74 | 6f 20 68 79 70 65 72 63 |n exit t|o hyperc|
|000052f0| 61 72 64 0d 69 66 20 70 | 6f 73 44 61 74 61 20 69 |ard.if p|osData i|
|00005300| 73 20 65 6d 70 74 79 20 | 74 68 65 6e 20 67 65 74 |s empty |then get|
|00005310| 50 6f 73 44 61 74 61 0d | 69 66 20 70 6f 73 44 61 |PosData.|if posDa|
|00005320| 74 61 4e 75 6d 73 20 69 | 73 20 65 6d 70 74 79 20 |taNums i|s empty |
|00005330| 74 68 65 6e 20 67 65 6e | 50 6f 73 44 61 74 61 4e |then gen|PosDataN|
|00005340| 75 6d 73 0d 6f 70 65 6e | 20 66 69 6c 65 20 66 69 |ums.open| file fi|
|00005350| 6c 65 50 61 74 68 0d 70 | 75 74 20 68 65 61 64 65 |lePath.p|ut heade|
|00005360| 72 53 74 75 66 66 20 28 | 66 61 6c 73 65 2c 66 69 |rStuff (|false,fi|
|00005370| 6c 65 50 61 74 68 29 20 | 69 6e 74 6f 20 69 74 0d |lePath) |into it.|
|00005380| 77 72 69 74 65 20 69 74 | 20 74 6f 20 66 69 6c 65 |write it| to file|
|00005390| 20 66 69 6c 65 50 61 74 | 68 0d 72 65 70 65 61 74 | filePat|h.repeat|
|000053a0| 20 77 69 74 68 20 69 6e | 64 65 78 31 20 3d 20 31 | with in|dex1 = 1|
|000053b0| 20 74 6f 20 6e 75 6d 50 | 6f 73 0d 70 75 74 20 22 | to numP|os.put "|
|000053c0| 50 72 6f 67 72 65 73 73 | 20 3a 20 22 20 26 20 69 |Progress| : " & i|
|000053d0| 6e 64 65 78 31 20 26 20 | 22 2f 22 20 26 20 6e 75 |ndex1 & |"/" & nu|
|000053e0| 6d 50 6f 73 20 69 6e 74 | 6f 20 6d 73 67 0d 70 75 |mPos int|o msg.pu|
|000053f0| 74 20 69 6e 64 65 78 31 | 20 26 20 22 7c 22 20 69 |t index1| & "|" i|
|00005400| 6e 74 6f 20 74 68 65 4c | 69 6e 65 0d 69 66 20 69 |nto theL|ine.if i|
|00005410| 6e 64 65 78 31 20 3c 20 | 31 30 20 74 68 65 6e 20 |ndex1 < |10 then |
|00005420| 70 75 74 20 22 30 22 20 | 62 65 66 6f 72 65 20 74 |put "0" |before t|
|00005430| 68 65 4c 69 6e 65 0d 69 | 66 20 69 6e 64 65 78 31 |heLine.i|f index1|
|00005440| 20 3c 20 31 30 30 20 74 | 68 65 6e 20 70 75 74 20 | < 100 t|hen put |
|00005450| 22 30 22 20 62 65 66 6f | 72 65 20 74 68 65 4c 69 |"0" befo|re theLi|
|00005460| 6e 65 0d 72 65 70 65 61 | 74 20 69 6e 64 65 78 31 |ne.repea|t index1|
|00005470| 20 74 69 6d 65 73 0d 70 | 75 74 20 73 70 61 63 65 | times.p|ut space|
|00005480| 72 43 48 20 61 66 74 65 | 72 20 74 68 65 4c 69 6e |rCH afte|r theLin|
|00005490| 65 0d 65 6e 64 20 72 65 | 70 65 61 74 0d 70 75 74 |e.end re|peat.put|
|000054a0| 20 69 74 65 6d 20 69 6e | 64 65 78 31 20 6f 66 20 | item in|dex1 of |
|000054b0| 70 6f 73 44 61 74 61 4e | 75 6d 73 20 69 6e 74 6f |posDataN|ums into|
|000054c0| 20 59 70 6f 73 0d 72 65 | 70 65 61 74 20 77 69 74 | Ypos.re|peat wit|
|000054d0| 68 20 69 6e 64 65 78 32 | 20 3d 20 28 69 6e 64 65 |h index2| = (inde|
|000054e0| 78 31 20 2b 20 31 29 20 | 74 6f 20 6e 75 6d 50 6f |x1 + 1) |to numPo|
|000054f0| 73 0d 73 65 74 20 74 68 | 65 20 63 75 72 73 6f 72 |s.set th|e cursor|
|00005500| 20 74 6f 20 62 75 73 79 | 0d 69 66 20 28 63 68 61 | to busy|.if (cha|
|00005510| 72 20 69 6e 64 65 78 31 | 20 6f 66 20 6d 61 73 6b |r index1| of mask|
|00005520| 20 3c 3e 20 6d 61 73 6b | 43 48 29 20 6f 72 20 c2 | <> mask|CH) or .|
|00005530| 0d 28 63 68 61 72 20 69 | 6e 64 65 78 32 20 6f 66 |.(char i|ndex2 of|
|00005540| 20 6d 61 73 6b 20 3c 3e | 20 6d 61 73 6b 43 48 29 | mask <>| maskCH)|
|00005550| 20 74 68 65 6e 0d 70 75 | 74 20 73 70 61 63 65 72 | then.pu|t spacer|
|00005560| 43 48 20 69 6e 74 6f 20 | 6d 61 74 63 68 43 48 0d |CH into |matchCH.|
|00005570| 65 6c 73 65 0d 70 75 74 | 20 69 74 65 6d 20 69 6e |else.put| item in|
|00005580| 64 65 78 32 20 6f 66 20 | 70 6f 73 44 61 74 61 4e |dex2 of |posDataN|
|00005590| 75 6d 73 20 69 6e 74 6f | 20 58 70 6f 73 0d 70 75 |ums into| Xpos.pu|
|000055a0| 74 20 7a 65 72 6f 20 69 | 6e 74 6f 20 74 61 6c 6c |t zero i|nto tall|
|000055b0| 79 0d 72 65 70 65 61 74 | 20 77 69 74 68 20 69 6e |y.repeat| with in|
|000055c0| 64 65 78 33 20 3d 20 31 | 20 74 6f 20 6e 75 6d 53 |dex3 = 1| to numS|
|000055d0| 65 71 73 0d 70 75 74 20 | 63 68 61 72 20 69 6e 64 |eqs.put |char ind|
|000055e0| 65 78 33 20 6f 66 20 58 | 70 6f 73 20 69 6e 74 6f |ex3 of X|pos into|
|000055f0| 20 58 6e 75 6d 0d 70 75 | 74 20 63 68 61 72 20 69 | Xnum.pu|t char i|
|00005600| 6e 64 65 78 33 20 6f 66 | 20 59 70 6f 73 20 69 6e |ndex3 of| Ypos in|
|00005610| 74 6f 20 59 6e 75 6d 0d | 69 66 20 28 58 6e 75 6d |to Ynum.|if (Xnum|
|00005620| 20 3d 20 59 6e 75 6d 29 | 20 74 68 65 6e 20 61 64 | = Ynum)| then ad|
|00005630| 64 20 31 20 74 6f 20 74 | 61 6c 6c 79 0d 65 6e 64 |d 1 to t|ally.end|
|00005640| 20 72 65 70 65 61 74 0d | 69 66 20 74 61 6c 6c 79 | repeat.|if tally|
|00005650| 20 3d 20 6e 75 6d 53 65 | 71 73 20 74 68 65 6e 20 | = numSe|qs then |
|00005660| 70 75 74 20 61 6c 6c 4d | 61 74 63 68 65 73 43 48 |put allM|atchesCH|
|00005670| 20 69 6e 74 6f 20 6d 61 | 74 63 68 43 48 0d 65 6c | into ma|tchCH.el|
|00005680| 73 65 20 69 66 20 74 61 | 6c 6c 79 20 3d 20 28 6e |se if ta|lly = (n|
|00005690| 75 6d 53 65 71 73 20 2d | 20 31 29 20 74 68 65 6e |umSeqs -| 1) then|
|000056a0| 20 70 75 74 20 61 6c 6c | 42 75 74 4f 6e 65 43 48 | put all|ButOneCH|
|000056b0| 20 69 6e 74 6f 20 6d 61 | 74 63 68 43 48 0d 65 6c | into ma|tchCH.el|
|000056c0| 73 65 20 70 75 74 20 6e | 6f 4d 61 74 63 68 43 48 |se put n|oMatchCH|
|000056d0| 20 69 6e 74 6f 20 6d 61 | 74 63 68 43 48 0d 69 66 | into ma|tchCH.if|
|000056e0| 20 6d 61 74 63 68 43 48 | 20 3d 20 61 6c 6c 4d 61 | matchCH| = allMa|
|000056f0| 74 63 68 65 73 43 48 20 | 74 68 65 6e 0d 69 66 20 |tchesCH |then.if |
|00005700| 28 69 6e 64 65 78 31 20 | 69 73 20 69 6e 20 63 6f |(index1 |is in co|
|00005710| 6e 73 74 61 6e 74 4c 69 | 73 74 29 20 61 6e 64 20 |nstantLi|st) and |
|00005720| 28 69 6e 64 65 78 32 20 | 69 73 20 69 6e 20 63 6f |(index2 |is in co|
|00005730| 6e 73 74 61 6e 74 4c 69 | 73 74 29 20 74 68 65 6e |nstantLi|st) then|
|00005740| 0d 70 75 74 20 69 6e 76 | 61 72 69 61 6e 74 43 48 |.put inv|ariantCH|
|00005750| 20 69 6e 74 6f 20 6d 61 | 74 63 68 43 48 0d 65 6e | into ma|tchCH.en|
|00005760| 64 20 69 66 0d 65 6e 64 | 20 69 66 0d 65 6e 64 20 |d if.end| if.end |
|00005770| 69 66 0d 70 75 74 20 6d | 61 74 63 68 43 48 20 61 |if.put m|atchCH a|
|00005780| 66 74 65 72 20 74 68 65 | 4c 69 6e 65 0d 65 6e 64 |fter the|Line.end|
|00005790| 20 72 65 70 65 61 74 0d | 70 75 74 20 72 65 74 75 | repeat.|put retu|
|000057a0| 72 6e 20 61 66 74 65 72 | 20 74 68 65 4c 69 6e 65 |rn after| theLine|
|000057b0| 0d 77 72 69 74 65 20 74 | 68 65 4c 69 6e 65 20 74 |.write t|heLine t|
|000057c0| 6f 20 66 69 6c 65 20 66 | 69 6c 65 50 61 74 68 0d |o file f|ilePath.|
|000057d0| 65 6e 64 20 72 65 70 65 | 61 74 0d 70 75 74 20 45 |end repe|at.put E|
|000057e0| 4f 46 20 26 20 72 65 74 | 75 72 6e 20 69 6e 74 6f |OF & ret|urn into|
|000057f0| 20 74 68 65 4c 69 6e 65 | 0d 77 72 69 74 65 20 74 | theLine|.write t|
|00005800| 68 65 4c 69 6e 65 20 74 | 6f 20 66 69 6c 65 20 66 |heLine t|o file f|
|00005810| 69 6c 65 50 61 74 68 0d | 62 65 65 70 0d 63 6c 6f |ilePath.|beep.clo|
|00005820| 73 65 20 66 69 6c 65 20 | 66 69 6c 65 50 61 74 68 |se file |filePath|
|00005830| 0d 70 75 74 20 22 41 6c | 6c 20 66 69 6e 69 73 68 |.put "Al|l finish|
|00005840| 65 64 2e 2e 2e 2e 54 68 | 61 6e 6b 73 20 66 6f 72 |ed....Th|anks for|
|00005850| 20 77 61 69 74 69 6e 67 | 21 22 20 69 6e 74 6f 20 | waiting|!" into |
|00005860| 6d 73 67 0d 65 6e 64 20 | 64 6f 43 6f 56 61 72 41 |msg.end |doCoVarA|
|00005870| 62 73 0d 0d 6f 6e 20 64 | 6f 43 6f 56 61 72 4c 69 |bs..on d|oCoVarLi|
|00005880| 73 74 0d 2d 2d 20 53 74 | 61 6e 64 61 72 64 20 63 |st.-- St|andard c|
|00005890| 6f 76 61 72 69 61 74 69 | 6f 6e 20 61 6e 61 6c 79 |ovariati|on analy|
|000058a0| 73 69 73 2c 20 62 75 74 | 20 74 68 65 20 72 65 73 |sis, but| the res|
|000058b0| 75 6c 74 73 20 61 72 65 | 20 73 61 76 65 64 0d 2d |ults are| saved.-|
|000058c0| 2d 20 61 73 20 61 20 6c | 69 73 74 20 6f 66 20 63 |- as a l|ist of c|
|000058d0| 6f 76 61 72 79 69 6e 67 | 20 70 6f 73 69 74 69 6f |ovarying| positio|
|000058e0| 6e 73 20 72 61 74 68 65 | 72 20 74 68 61 6e 20 61 |ns rathe|r than a|
|000058f0| 20 6d 61 74 72 69 78 0d | 67 6c 6f 62 61 6c 20 6e | matrix.|global n|
|00005900| 75 6d 50 6f 73 2c 70 6f | 73 44 61 74 61 4e 75 6d |umPos,po|sDataNum|
|00005910| 73 2c 70 6f 73 44 61 74 | 61 2c 6d 61 73 6b 2c 6d |s,posDat|a,mask,m|
|00005920| 61 73 6b 43 48 2c 6e 75 | 6d 53 65 71 73 0d 70 75 |askCH,nu|mSeqs.pu|
|00005930| 74 20 22 63 6f 76 61 72 | 69 61 74 69 6f 6e 20 28 |t "covar|iation (|
|00005940| 6c 69 73 74 29 22 20 69 | 6e 74 6f 20 64 65 66 61 |list)" i|nto defa|
|00005950| 75 6c 74 0d 61 73 6b 20 | 66 69 6c 65 20 22 53 61 |ult.ask |file "Sa|
|00005960| 76 65 20 75 6e 64 65 72 | 20 77 68 61 74 20 6e 61 |ve under| what na|
|00005970| 6d 65 3f 22 20 77 69 74 | 68 20 64 65 66 61 75 6c |me?" wit|h defaul|
|00005980| 74 0d 70 75 74 20 69 74 | 20 69 6e 74 6f 20 66 69 |t.put it| into fi|
|00005990| 6c 65 50 61 74 68 0d 69 | 66 20 66 69 6c 65 50 61 |lePath.i|f filePa|
|000059a0| 74 68 20 69 73 20 65 6d | 70 74 79 20 74 68 65 6e |th is em|pty then|
|000059b0| 20 65 78 69 74 20 74 6f | 20 68 79 70 65 72 63 61 | exit to| hyperca|
|000059c0| 72 64 0d 69 66 20 70 6f | 73 44 61 74 61 20 69 73 |rd.if po|sData is|
|000059d0| 20 65 6d 70 74 79 20 74 | 68 65 6e 20 67 65 74 50 | empty t|hen getP|
|000059e0| 6f 73 44 61 74 61 0d 69 | 66 20 70 6f 73 44 61 74 |osData.i|f posDat|
|000059f0| 61 4e 75 6d 73 20 69 73 | 20 65 6d 70 74 79 20 74 |aNums is| empty t|
|00005a00| 68 65 6e 20 67 65 6e 50 | 6f 73 44 61 74 61 4e 75 |hen genP|osDataNu|
|00005a10| 6d 73 0d 6f 70 65 6e 20 | 66 69 6c 65 20 66 69 6c |ms.open |file fil|
|00005a20| 65 50 61 74 68 0d 70 75 | 74 20 22 53 74 72 69 63 |ePath.pu|t "Stric|
|00005a30| 74 20 43 6f 76 61 72 69 | 61 74 69 6f 6e 20 41 6e |t Covari|ation An|
|00005a40| 61 6c 79 73 69 73 20 28 | 6c 69 73 74 20 6f 75 74 |alysis (|list out|
|00005a50| 70 75 74 29 20 2d 20 22 | 20 26 20 74 68 65 20 64 |put) - "| & the d|
|00005a60| 61 74 65 20 26 20 72 65 | 74 75 72 6e 20 26 20 72 |ate & re|turn & r|
|00005a70| 65 74 75 72 6e 20 69 6e | 74 6f 20 68 65 61 64 65 |eturn in|to heade|
|00005a80| 72 0d 70 75 74 20 22 46 | 49 4c 45 20 3a 20 22 20 |r.put "F|ILE : " |
|00005a90| 26 20 66 69 6c 65 50 61 | 74 68 20 26 20 72 65 74 |& filePa|th & ret|
|00005aa0| 75 72 6e 20 26 20 72 65 | 74 75 72 6e 20 61 66 74 |urn & re|turn aft|
|00005ab0| 65 72 20 68 65 61 64 65 | 72 0d 77 72 69 74 65 20 |er heade|r.write |
|00005ac0| 68 65 61 64 65 72 20 74 | 6f 20 66 69 6c 65 20 66 |header t|o file f|
|00005ad0| 69 6c 65 50 61 74 68 0d | 70 75 74 20 65 6d 70 74 |ilePath.|put empt|
|00005ae0| 79 20 69 6e 74 6f 20 50 | 44 4e 6c 69 73 74 0d 70 |y into P|DNlist.p|
|00005af0| 75 74 20 22 43 6f 6d 70 | 69 6c 69 6e 67 20 76 61 |ut "Comp|iling va|
|00005b00| 72 69 61 74 69 6f 6e 20 | 64 61 74 61 2e 2e 2e 22 |riation |data..."|
|00005b10| 20 69 6e 74 6f 20 6d 73 | 67 0d 72 65 70 65 61 74 | into ms|g.repeat|
|00005b20| 20 77 69 74 68 20 69 6e | 64 65 78 20 3d 20 31 20 | with in|dex = 1 |
|00005b30| 74 6f 20 6e 75 6d 50 6f | 73 0d 73 65 74 20 74 68 |to numPo|s.set th|
|00005b40| 65 20 63 75 72 73 6f 72 | 20 74 6f 20 62 75 73 79 |e cursor| to busy|
|00005b50| 0d 69 66 20 28 69 74 65 | 6d 20 69 6e 64 65 78 20 |.if (ite|m index |
|00005b60| 6f 66 20 70 6f 73 44 61 | 74 61 4e 75 6d 73 20 69 |of posDa|taNums i|
|00005b70| 73 20 6e 6f 74 20 69 6e | 20 50 44 4e 6c 69 73 74 |s not in| PDNlist|
|00005b80| 29 20 61 6e 64 20 c2 0d | 28 63 68 61 72 20 69 6e |) and ..|(char in|
|00005b90| 64 65 78 20 6f 66 20 6d | 61 73 6b 20 3d 20 6d 61 |dex of m|ask = ma|
|00005ba0| 73 6b 43 48 29 20 74 68 | 65 6e 20 c2 0d 70 75 74 |skCH) th|en ..put|
|00005bb0| 20 69 74 65 6d 20 69 6e | 64 65 78 20 6f 66 20 70 | item in|dex of p|
|00005bc0| 6f 73 44 61 74 61 4e 75 | 6d 73 20 26 20 22 2c 22 |osDataNu|ms & ","|
|00005bd0| 20 61 66 74 65 72 20 50 | 44 4e 6c 69 73 74 0d 70 | after P|DNlist.p|
|00005be0| 75 74 20 22 43 6f 6d 70 | 69 6c 69 6e 67 20 76 61 |ut "Comp|iling va|
|00005bf0| 72 69 61 74 69 6f 6e 20 | 64 61 74 61 2e 2e 2e 22 |riation |data..."|
|00005c00| 20 26 20 69 6e 64 65 78 | 20 69 6e 74 6f 20 6d 73 | & index| into ms|
|00005c10| 67 0d 65 6e 64 20 72 65 | 70 65 61 74 0d 64 65 6c |g.end re|peat.del|
|00005c20| 65 74 65 20 6c 61 73 74 | 20 63 68 61 72 20 6f 66 |ete last| char of|
|00005c30| 20 50 44 4e 6c 69 73 74 | 0d 70 75 74 20 74 68 65 | PDNlist|.put the|
|00005c40| 20 6e 75 6d 62 65 72 20 | 6f 66 20 69 74 65 6d 73 | number |of items|
|00005c50| 20 69 6e 20 50 44 4e 6c | 69 73 74 20 69 6e 74 6f | in PDNl|ist into|
|00005c60| 20 50 44 4e 6c 69 73 74 | 4c 65 6e 0d 72 65 70 65 | PDNlist|Len.repe|
|00005c70| 61 74 20 77 69 74 68 20 | 69 6e 64 65 78 31 20 3d |at with |index1 =|
|00005c80| 20 31 20 74 6f 20 50 44 | 4e 6c 69 73 74 4c 65 6e | 1 to PD|NlistLen|
|00005c90| 0d 70 75 74 20 65 6d 70 | 74 79 20 69 6e 74 6f 20 |.put emp|ty into |
|00005ca0| 74 68 65 4c 69 6e 65 0d | 70 75 74 20 69 74 65 6d |theLine.|put item|
|00005cb0| 20 69 6e 64 65 78 31 20 | 6f 66 20 50 44 4e 6c 69 | index1 |of PDNli|
|00005cc0| 73 74 20 69 6e 74 6f 20 | 74 65 6d 70 6c 61 74 65 |st into |template|
|00005cd0| 4e 75 6d 0d 72 65 70 65 | 61 74 20 77 69 74 68 20 |Num.repe|at with |
|00005ce0| 69 6e 64 65 78 32 20 3d | 20 31 20 74 6f 20 6e 75 |index2 =| 1 to nu|
|00005cf0| 6d 50 6f 73 0d 73 65 74 | 20 74 68 65 20 63 75 72 |mPos.set| the cur|
|00005d00| 73 6f 72 20 74 6f 20 62 | 75 73 79 0d 69 66 20 28 |sor to b|usy.if (|
|00005d10| 63 68 61 72 20 69 6e 64 | 65 78 32 20 6f 66 20 6d |char ind|ex2 of m|
|00005d20| 61 73 6b 20 3d 20 6d 61 | 73 6b 43 48 29 20 74 68 |ask = ma|skCH) th|
|00005d30| 65 6e 0d 70 75 74 20 69 | 74 65 6d 20 69 6e 64 65 |en.put i|tem inde|
|00005d40| 78 32 20 6f 66 20 70 6f | 73 44 61 74 61 4e 75 6d |x2 of po|sDataNum|
|00005d50| 73 20 69 6e 74 6f 20 74 | 65 73 74 4e 75 6d 0d 69 |s into t|estNum.i|
|00005d60| 66 20 74 65 73 74 4e 75 | 6d 20 3d 20 74 65 6d 70 |f testNu|m = temp|
|00005d70| 6c 61 74 65 4e 75 6d 20 | 74 68 65 6e 0d 69 66 20 |lateNum |then.if |
|00005d80| 69 6e 64 65 78 32 20 3c | 20 31 30 20 74 68 65 6e |index2 <| 10 then|
|00005d90| 20 70 75 74 20 22 20 22 | 20 61 66 74 65 72 20 74 | put " "| after t|
|00005da0| 68 65 4c 69 6e 65 0d 69 | 66 20 69 6e 64 65 78 32 |heLine.i|f index2|
|00005db0| 20 3c 20 31 30 30 20 74 | 68 65 6e 20 70 75 74 20 | < 100 t|hen put |
|00005dc0| 22 20 22 20 61 66 74 65 | 72 20 74 68 65 4c 69 6e |" " afte|r theLin|
|00005dd0| 65 0d 70 75 74 20 69 6e | 64 65 78 32 20 26 20 22 |e.put in|dex2 & "|
|00005de0| 20 22 20 26 20 69 74 65 | 6d 20 69 6e 64 65 78 32 | " & ite|m index2|
|00005df0| 20 6f 66 20 70 6f 73 44 | 61 74 61 20 26 20 72 65 | of posD|ata & re|
|00005e00| 74 75 72 6e 20 61 66 74 | 65 72 20 74 68 65 4c 69 |turn aft|er theLi|
|00005e10| 6e 65 0d 65 6e 64 20 69 | 66 0d 65 6e 64 20 69 66 |ne.end i|f.end if|
|00005e20| 0d 65 6e 64 20 72 65 70 | 65 61 74 0d 72 65 70 65 |.end rep|eat.repe|
|00005e30| 61 74 20 28 6e 75 6d 53 | 65 71 73 20 2b 20 34 29 |at (numS|eqs + 4)|
|00005e40| 20 74 69 6d 65 73 0d 70 | 75 74 20 22 2d 22 20 61 | times.p|ut "-" a|
|00005e50| 66 74 65 72 20 74 68 65 | 4c 69 6e 65 0d 65 6e 64 |fter the|Line.end|
|00005e60| 20 72 65 70 65 61 74 0d | 70 75 74 20 72 65 74 75 | repeat.|put retu|
|00005e70| 72 6e 20 61 66 74 65 72 | 20 74 68 65 4c 69 6e 65 |rn after| theLine|
|00005e80| 0d 77 72 69 74 65 20 74 | 68 65 4c 69 6e 65 20 74 |.write t|heLine t|
|00005e90| 6f 20 66 69 6c 65 20 66 | 69 6c 65 50 61 74 68 0d |o file f|ilePath.|
|00005ea0| 70 75 74 20 22 50 72 6f | 67 72 65 73 73 20 3a 20 |put "Pro|gress : |
|00005eb0| 22 20 26 20 69 6e 64 65 | 78 31 20 26 20 22 2f 22 |" & inde|x1 & "/"|
|00005ec0| 20 26 20 50 44 4e 6c 69 | 73 74 4c 65 6e 20 69 6e | & PDNli|stLen in|
|00005ed0| 74 6f 20 6d 73 67 0d 65 | 6e 64 20 72 65 70 65 61 |to msg.e|nd repea|
|00005ee0| 74 0d 63 6c 6f 73 65 20 | 66 69 6c 65 20 66 69 6c |t.close |file fil|
|00005ef0| 65 50 61 74 68 0d 62 65 | 65 70 0d 70 75 74 20 22 |ePath.be|ep.put "|
|00005f00| 41 6c 6c 20 66 69 6e 69 | 73 68 65 64 2e 2e 2e 2e |All fini|shed....|
|00005f10| 54 68 61 6e 6b 73 20 66 | 6f 72 20 77 61 69 74 69 |Thanks f|or waiti|
|00005f20| 6e 67 21 22 20 69 6e 74 | 6f 20 6d 73 67 0d 65 6e |ng!" int|o msg.en|
|00005f30| 64 20 64 6f 43 6f 56 61 | 72 4c 69 73 74 0d 0d 2d |d doCoVa|rList..-|
|00005f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005f80| 2d 2d 2d 2d 2d 2d 0d 2d | 2d 20 4d 61 69 6e 20 70 |------.-|- Main p|
|00005f90| 72 6f 67 72 61 6d 0d 2d | 2d 0d 0d 6f 6e 20 64 6f |rogram.-|-..on do|
|00005fa0| 41 6e 61 6c 79 73 69 73 | 0d 2d 2d 20 44 65 74 65 |Analysis|.-- Dete|
|00005fb0| 72 6d 69 6e 65 20 77 68 | 69 63 68 20 74 79 70 65 |rmine wh|ich type|
|00005fc0| 20 6f 66 20 61 6e 61 6c | 79 73 69 73 20 69 73 20 | of anal|ysis is |
|00005fd0| 64 65 73 69 72 65 64 2c | 20 74 68 65 6e 20 72 75 |desired,| then ru|
|00005fe0| 6e 20 69 74 2c 0d 2d 2d | 20 63 68 65 63 6b 69 6e |n it,.--| checkin|
|00005ff0| 67 20 66 69 72 73 74 20 | 74 68 61 74 20 61 20 73 |g first |that a s|
|00006000| 65 71 75 65 6e 63 65 20 | 69 73 20 6c 6f 61 64 65 |equence |is loade|
|00006010| 64 2e 0d 67 6c 6f 62 61 | 6c 20 70 6f 73 44 61 74 |d..globa|l posDat|
|00006020| 61 2c 70 6f 73 44 61 74 | 61 4e 75 6d 73 2c 73 65 |a,posDat|aNums,se|
|00006030| 71 73 0d 64 65 66 69 6e | 65 43 68 61 72 73 0d 69 |qs.defin|eChars.i|
|00006040| 66 20 73 65 71 73 20 69 | 73 20 65 6d 70 74 79 20 |f seqs i|s empty |
|00006050| 74 68 65 6e 20 72 65 61 | 64 46 69 6c 65 0d 69 66 |then rea|dFile.if|
|00006060| 20 74 68 65 20 68 69 67 | 68 6c 69 67 68 74 20 6f | the hig|hlight o|
|00006070| 66 20 20 63 61 72 64 20 | 62 75 74 74 6f 6e 20 22 |f card |button "|
|00006080| 53 74 72 69 63 74 20 63 | 6f 76 61 72 69 61 74 69 |Strict c|ovariati|
|00006090| 6f 6e 20 28 6c 69 73 74 | 29 22 20 69 73 20 74 72 |on (list|)" is tr|
|000060a0| 75 65 20 74 68 65 6e 0d | 64 6f 43 6f 56 61 72 4c |ue then.|doCoVarL|
|000060b0| 69 73 74 0d 65 6c 73 65 | 20 69 66 20 74 68 65 20 |ist.else| if the |
|000060c0| 68 69 67 68 6c 69 67 68 | 74 20 6f 66 20 63 61 72 |highligh|t of car|
|000060d0| 64 20 62 75 74 74 6f 6e | 20 22 53 74 72 69 63 74 |d button| "Strict|
|000060e0| 20 63 6f 76 61 72 69 61 | 74 69 6f 6e 20 28 6d 61 | covaria|tion (ma|
|000060f0| 74 72 69 78 29 22 20 69 | 73 20 74 72 75 65 20 74 |trix)" i|s true t|
|00006100| 68 65 6e 0d 64 6f 43 6f | 56 61 72 41 62 73 0d 65 |hen.doCo|VarAbs.e|
|00006110| 6c 73 65 20 69 66 20 74 | 68 65 20 68 69 67 68 6c |lse if t|he highl|
|00006120| 69 67 68 74 20 6f 66 20 | 63 61 72 64 20 62 75 74 |ight of |card but|
|00006130| 74 6f 6e 20 22 43 6f 6d | 70 65 6e 73 61 74 6f 72 |ton "Com|pensator|
|00006140| 79 20 63 68 61 6e 67 65 | 73 22 20 69 73 20 74 72 |y change|s" is tr|
|00006150| 75 65 20 74 68 65 6e 0d | 64 6f 43 6f 56 61 72 42 |ue then.|doCoVarB|
|00006160| 50 0d 65 6e 64 20 69 66 | 0d 65 6e 64 20 64 6f 41 |P.end if|.end doA|
|00006170| 6e 61 6c 79 73 69 73 0d | 0d 2d 2d 2d 2d 2d 2d 2d |nalysis.|.-------|
|00006180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000061a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000061b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000061c0| 0d 2d 2d 20 20 54 68 61 | 74 27 73 20 61 6c 6c 2c |.-- Tha|t's all,|
|000061d0| 20 66 6f 6c 6b 73 21 0d | 2d 2d 2d 2d 2d 2d 2d 2d | folks!.|--------|
|000061e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000061f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00006210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00006220| 0d 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006280| 00 00 02 00 4d 41 53 54 | ff ff ff ff 00 00 00 00 |....MAST|........|
|00006290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062a0| 00 03 20 10 00 03 bf 30 | 00 03 64 ea 00 03 66 81 |.. ....0|..d...f.|
|000062b0| 00 03 a9 ab 00 03 af d7 | 00 03 b2 e5 00 00 00 00 |........|........|
|000062c0| 00 00 00 00 00 03 b5 27 | 00 03 24 64 00 00 00 00 |.......'|..$d....|
|000062d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000062f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00006390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000063a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000063b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000063c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000063d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000063e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000063f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.